Kip*_*Kip 11 dependency-injection angularjs ecmascript-6
使用Angular 1.4和ES6/7以及Babel,我可以在类块之后使用此代码成功地将参数注入到名为Controller的类中:
class Controller {
constructor($scope, $state, $window) {...}
...
}
Controller.$inject = ["$scope", "$state", "$window"]
Run Code Online (Sandbox Code Playgroud)
但是,在构造函数的正上方看到注入参数会更清晰.我见过其他人使用静态$ inject,但是我收到了一个错误.这是我正在尝试的:
class Controller {
static $inject = ["$scope", "$state", "$window"]
constructor($scope, $state, $window) {...}
...
}
Run Code Online (Sandbox Code Playgroud)
为什么会导致此错误?它似乎适用于其他人.
Unexpected token (2:11)
1 | class Controller {
2 | static $inject = ["$scope", "$state", "$window"]
|
^
Run Code Online (Sandbox Code Playgroud)
log*_*yth 15
这是一个实验性的提议语法.在巴别塔,你必须启用es7.classProperties.通过
optional: ['es7.classProperties']
Run Code Online (Sandbox Code Playgroud)
巴贝尔 确切的方法取决于您的转换方式.
如果你想做标准的ES6,你也可以这样做
static get $inject(){ return ["$scope", "$state", "$window"]; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5215 次 |
| 最近记录: |