使用带有 ES6/7 和 Babel 的 Angular 1.4,我可以在类块后面使用以下代码成功地将参数注入到名为 Controller 的类中:
class Controller {
constructor($scope, $state, $window) {...}
...
}
Controller.$inject = ["$scope", "$state", "$window"]
但是,在构造函数上方看到注入参数会更清晰。我见过其他人使用 static $inject,但我收到错误。这是我正在尝试的:
class Controller {
static $inject = ["$scope", "$state", "$window"]
constructor($scope, $state, $window) {...}
...
}
为什么会导致这个错误?这似乎对其他人有用。
Unexpected token (2:11)
1 | class Controller {
2 | static $inject = ["$scope", "$state", "$window"]
|
^
这是一个实验性的建议语法。在 Babel 中,你必须启用es7.classProperties
. Pass
optional: ['es7.classProperties']
巴别塔。确切的方法取决于您的转译方式。
如果你想做标准的 ES6,你也可以这样做
static get $inject(){ return ["$scope", "$state", "$window"]; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)