我正在努力让这个工作。我知道静态变量不能在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'
}];
}
}

答案 0 :(得分:2)
您未在getActionConts
内拨打$onInit()
。将this.getActionConsts.A
更改为this.getActionConsts().A
时,它会有效。您也可以使用类名而不是this.constructor
更清洁一点。如果您想阅读更多https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static
当我使用常量时,我只使用const
声明并在类之外声明我的常量。 Angular有一些奇特的方法来定义常量,我无法回想起我的头脑。