使用AngularJs中的ng-init变量初始化常量

时间:2017-11-13 10:29:41

标签: javascript angularjs

我正在使用AngularJs,我正在初始化该模型的ng-init中的变量。

<body ng-init="allowedState=2" ng-controller="amCtrl">
</body>

现在我想要的是使用这个变量声明一个constant,然后在应用程序中共享它。

angular.module('amModule').constant('temp', ?)

我想弄清楚这一点,我现在想知道它是否可能?

2 个答案:

答案 0 :(得分:0)

是的,你可以采取上述方式

angular.module('amModule').constant('allowedState',2);

答案 1 :(得分:0)

使用ng-init;

ng-init="loader(); firstName = 'John'"

最好不要使用ng-init而是使用以下方法;

您可以使用常量或值来初始化变量; Official angular doc link

实施例: 使用常数:

var app = angular.module('myApp', []);
app.constant('appName', 'Application Name');

app.controller('TestCtrl', ['appName', function TestCtrl(appName) {
    console.log(appName);
}]);

使用值:

var app = angular.module('myApp', []);

app.value('usersOnline', 0);
app.controller('TestCtrl', ['usersOnline', function TestCtrl(usersOnline) {
    console.log(usersOnline);
    usersOnline = 15;
    console.log(usersOnline);
}]);

另外,使用服务是很好的解决方案; Using rootScope and service method

谢谢,