我想为我的 Angular JS 应用程序编写几个常量。我想将它们写在一个单独的文件中并想要访问它们。
我尝试过像这样使用 IIFE(立即调用函数表达式),
常量.js
var Constants = (function () {
var allConstants = {
"url": 'abc',
"name": "anijit",
"sn": "sau"
}
return allConstants
})();
console.log('defined constants', Constants)
但是当我尝试访问它们时它显示Constants not defined
错误。我哪里做错了?
我想使用访问它们Constants.url
妨碍我,我不想做任何事$http
打电话或者类似的事情。如何实现这一目标?
因此你正在使用 AngularJS,你可以使用持续服务 https://docs.angularjs.org/api/auto/service/%24provide#constant。作为常量可以注入到任何地方,包括 angularjs 应用程序中的配置调用。
此外,顾名思义,常量是固定的,它们在其他提供方法之前应用。看$provide.constant() https://docs.angularjs.org/api/auto/service/%24provide#constant了解更多详情。
// Storing a single constant value
var app = angular.module('myApp', []);
app.constant('appName', 'My App');
// Now we inject our constant value into a test controller
app.controller('TestCtrl', ['appName', function TestCtrl(appName) {
console.log(appName);
}]);
// Storing multiple constant values inside of an object
// Note: values in the object mean they can be modified
var app = angular.module('myApp', []);
app.constant('config', {
appName: 'My App',
appVersion: 1.0,
apiUrl: 'http://www.facebook.com?api'
});
// Now we inject our constant value into a test controller
app.controller('TestCtrl', ['config', function TestCtrl(config) {
console.log(config);
console.log('App Name', config.appName);
console.log('App Name', config.appVersion);
}]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)