リソース サービスに依存するメソッドを持つ Angular 1.4 コントローラーがあります。そのクラスのコンストラクターに で注釈を付けましたng-annotate
が、それでも Angular はそのサービスがメソッドで見つからないことを呪います:
var MyResourceFactory = require("myResource.service");
class MyController {
// @ngInject
constructor($location, $stateParams, $state, MyResource) {
... // some initialization code
}
myMethod(data) {
var resource = new MyResource();
resource.data = data;
resource.save();
}
}
module.exports = angular.module("MyModule", [])
.factory('MyResource', MyResourceFactory)
.controller('MyController', MyController)
.config(routes);
myMethod
しかし、 ( )の最初の行でvar resource = new MyResource()
実行が失敗します。
ReferenceError: MyResource is undefined
at MyController.myMethod (myModule.module.js:214)
...
使用された技術:
- 角度 1.4
- ウェブパック
- バベル
- ng-注釈
ngInject を ECMA6 クラスのメソッドに適用するには?