为什么我得到未定义错误的属性

Why do I get property of undefined error?

本文关键字:错误 属性 未定义 为什么      更新时间:2023-09-26

我收到以下错误。

Uncaught TypeError: Cannot read property 'on' of undefined

当我添加代码行时会发生这种情况

let ServicePlugin = new ServicePlugin();

知道我做错了什么吗?下面是完整的代码。

'use strict';
class ServicePlugin {
  constructor(api) {
    this._api = api;
    this._api.on('ready', () => this._apiReady());
    this._api.on('saveSuccess', () => this._apiSuccess());
  }
  _apiReady() {
    console.log('Plugin Ready')
  }
  _apiSuccess() {
    console.log('Plugin Success');
  }
}
let ServicePlugin = new ServicePlugin();
ServicePlugin._apiReady();
module.exports = ServicePlugin;

实例化类时,必须提供 learnosity 参数(无论该参数是什么)。 AnnServicePlugin期望它:

let annServicePlugin = new AnnServicePlugin(learnosity);

当然,learnosity对象必须具有预期的on方法。