我想使用可以从项目中的任何位置调用的常量变量。
我做了"常数.js"。
angular.module('myApp.constants', [])
.constant('const', (function(){
return {
username = 'abc'
}
})()
);
"应用.js"
angular.module('myApp', ['ionic', 'myApp.controllers', 'myApp.constants'])
.run(function($ionicPlatform, $rootScope) {
$ionicPlatform.ready(function() {
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
StatusBar.styleDefault();
}
});
})
"控制器.js"
angular.module('myApp.controllers', [])
.controller('LoginCtrl', function($scope, $ionicPopup, $http, $state, const) {
$scope.user_name = const.username;
});
当我从控制器调用"const"时,我得到了这个错误。
D/SystemWebChromeClient: file:///android_asset/www/js/controllers.js: Line 8 : Uncaught SyntaxError: Unexpected token const
I/chromium: [INFO:CONSOLE(8)] "Uncaught SyntaxError: Unexpected token const", source: file:///android_asset/www/js/controllers.js
我不熟悉angularjs及其模块。我希望有人能把我送到正确的方向。
提前谢谢。
尝试像这样声明你的常量
angular.module('myApp.constants', []).constant('const', {username: 'abc'});
angular.module('myApp.constants', [])
.constant('constantMessage', (function(){
return {
username : 'abc'
}
})());
angular.module('myApp', ['myApp.constants'])
.controller('LoginCtrl', function($scope,constantMessage) {
$scope.user_name = constantMessage.username;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
<div ng-app="myApp" ng-controller="LoginCtrl">
{{user_name}}
</div>
请将您的constant.js
文件更新为:
.constant('constantMessage', (function(){
return {
username : 'abc'
}
})());
然后检查一下..