AngularJS:定义常量的最佳方法是什么?

时间:2019-12-16 07:17:56

标签: angularjs

可能我可以在angularjs中定义一个常量,如下所示:
JS代码

app.controller('testController', function($scope) {
    $scope.TEST_CONST= {
        ASC: 1,
        DESC: 2
    };

    $scope.doSomething = function() {
       // using constant
       if ($scope.TEST_CONST.ASC) {
          // do something
       }
    }
});

HTML代码:

// using in a template
<p ng-if="TEST_CONST.ASC">abc<p>

如您所见,在js代码中,当我使用常量时,常量定义的编写并不简洁,因为我必须在常量之前添加 $ scope 。如果像模板文件中那样写 TEST_CONST.ASC 会更好。
有没有更好的方法来定义常量?

1 个答案:

答案 0 :(得分:1)

基本上,您需要$scope才能使变量在模板中可见。因此,没有办法避免使用它。另一方面,AngularJS为此目的提供了一种特殊的,更方便的语法:

  angular
    .module('my.module')
    .constant('TEST_CONST', {
      ASC: 1,
    });

但是,您仍然需要将其注入控制器:

app.controller('testController', function($scope, TEST_CONST) {}

然后在模板中可见:

$scope.TEST_CONST = TEST_CONST;