1

我正在努力让它发挥作用。我知道静态变量不能在 ES 6 格式的类中声明。如何在类中声明常量并在类本身中访问它

这就是我所拥有的。我正在尝试访问 $onINit 时常量的构造函数值。我确实看到 this.constructor.Consts 具有正确的值。但是,当我尝试使用 this.getActionConsts.A 访问它们时,它不存在。

有什么线索吗?

或者有没有更好的方法来定义常量

class ActionCtrl {

    constructor($scope) {
      this.$scope = $scope;
    }

    static get Consts() {
      return {
        A: '5010',
        B: '5020',
        C: '5030'
      };
    }

    getActionConsts() {
      return this.constructor.Consts;
    }

    $onInit() {
      this.Actions = [{
        'id': this.getActionConsts.A,
        'title': '1'
      }, {
        'id': this.getActionConsts.B,
        'title': '1'
      }];
    }
}

4

1 回答 1

2

你没有getActionConts在里面打电话$onInit()。当您更改this.getActionConsts.Athis.getActionConsts().A. 您也可以使用类名而不是this.constructor更简洁。如果您想阅读更多内容,我使用了这些文档https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static

当我使用常量时,我​​只使用const声明并在类之外声明我的常量。Angular 也有一些奇特的方式来定义常量,我想不起来了。

于 2016-09-06T01:39:44.877 回答