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

时间:2016-07-06 07:20:18

标签: javascript ecmascript-6

我收到以下错误。

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;

任何想法我做错了什么?以下是完整的代码。

{{1}}

1 个答案:

答案 0 :(得分:3)

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

let annServicePlugin = new AnnServicePlugin(learnosity);

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