在es6类中为angular 1.5控制器定义常量

Defining constants in es6 class for angular 1.5 controller

本文关键字:控制器 定义 常量 angular es6      更新时间:2023-09-26

我正在努力让这个工作。我知道静态变量不能在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也有一些奇特的定义常量的方法,我一时想不起来了。