配置常量以在视图,服务,angularjs中的控制器中使用

时间:2014-01-07 06:11:01

标签: angularjs

设置在视图,服务和控制器中使用的常量的最佳方法是什么。

$ rootScope或.constant()?

我尝试.constant('CHAR_LIMIT', 10);,但这不能在视图{{CHAR_LIMIT}}

中使用

2 个答案:

答案 0 :(得分:3)

您确实可以向模块添加常量:

angular.module('app').constant('CHAR_LIMIT', 10);

然后在Angular允许的任何地方使用依赖注入注入它:

angular.controller('someCtrl', ['CHAR_LIMIT', function(CHAR_LIMIT){

    // Use the constant here

}]);

如果您需要在所有视图模板中使用它,可以将其作为属性添加到运行块中的$rootScope

angular.run(['$rootScope', 'CHAR_LIMIT', function($rootScope, CHAR_LIMIT){
    $rootScope.CHAR_LIMIT = CHAR_LIMIT;
}]);

然后您可以在视图模板中使用它,如下所示:

{{CHAR_LIMIT}}

注意:如果在链接到模板的子作用域中显式定义CHAR_LIMIT属性,则将使用该值,因为它将“覆盖”$rootScope中设置的值。

希望有所帮助!

答案 1 :(得分:1)

您必须像控制服务一样将其注入控制器,然后使用它(如下所示):

var myCtrl = ['$scope','CHAR_LIMIT', function($scope,CHAR_LIMIT){
    $cope.myVar = CHAR_LIMIT;
}]