可能我可以在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 会更好。
有没有更好的方法来定义常量?
答案 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;