私はこれを動作させるのに苦労しています。静的変数はES 6形式のクラスでは宣言できないことを理解しています。どのようにしてクラス内の定数を宣言し、クラス内でそれにアクセスすることができますか?角度1.5コントローラのes6クラスで定数を定義する
ここに私のものがあります。私は$ onINitの間に定数のコンストラクタ値にアクセスしようとしています。私はthis.constructor.Constsが正しい値を持って参照してください。しかし、私がthis.getActionConsts.Aを使ってそれらにアクセスしようとすると、そこにはありません。
手がかりはありますか?
か、$onInit()
のgetActionConts
内部を呼び出していません
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'
}];
}
}
ありがとう@ダニエル神戸。しかし、クラスの外側でconstを宣言すると、他のクラスの外で宣言された他の定数とinterefereすることは可能でしょうか? – looneytunes
定数が一致すると、エラーになります。ファイルごとに複数のクラスを持つべきではありません。 –
'ActionCtrl.consts = Object.seal({A: '5010'、B: '5020'、C: '5030'});'クラス宣言の後にgetterは 'get Consts(){return ActionCtrl .consts;} '。定数はパブリックですが、変更することはできず、グローバル定数になることはありません。 – RobG