加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何$注入Angular类w/ES6

发布时间:2020-12-17 07:59:06 所属栏目:安全 来源:网络整理
导读:使用Angular 1.4和ES6 / 7以及Babel,我可以在类块之后使用此代码将参数成功注入到名为Controller的类中: class Controller { constructor($scope,$state,$window) {...} ...}Controller.$inject = ["$scope","$state","$window"] 但是,在构造函数的正上方看
使用Angular 1.4和ES6 / 7以及Babel,我可以在类块之后使用此代码将参数成功注入到名为Controller的类中:
class Controller {
    constructor($scope,$state,$window) {...}
    ...
}
Controller.$inject = ["$scope","$state","$window"]

但是,在构造函数的正上方看到注入参数会更清晰.我见过其他人使用静态$inject,但是我收到了一个错误.这是我正在尝试的:

class Controller {
    static $inject = ["$scope","$window"]
    constructor($scope,$window) {...}
    ...
}

为什么会导致此错误?它似乎适用于其他人.

Unexpected token (2:11)
  1 | class Controller {
  2 |     static $inject = ["$scope","$window"]
    |  
              ^
这是一个实验性的提议语法.在Babel中,您必须启用es7.classProperties.通过
optional: ['es7.classProperties']

巴贝尔确切的方法取决于您的转换方式.

如果你想做标准的ES6,你也可以这样做

static get $inject(){ return ["$scope","$window"]; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读