我正在努力让这个工作。我知道静态变量不能在es6格式的类中声明。如何在类中声明常量并在类本身中访问它
这是我有的。我试图访问常量的构造函数值,而$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'
}];
}
}
您没有在$onInit()
内部调用getActionConts
。当您将this.getActionConsts.A
更改为this.getActionConsts().A
时,它会工作。此外,您可以使用类名而不是this.constructor
,这有点干净。我使用这些文档,如果你想阅读更多https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static
当我使用常量时,我只使用const
声明并在类外声明我的常量。Angular也有一些奇特的定义常量的方法,我一时想不起来了。