0

我想使用可以从项目中的任何地方调用的常量变量。

我做了'constants.js'。

angular.module('myApp.constants', [])

.constant('const', (function(){

  return {
    username = 'abc'
  }
})()
);

'app.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();
    }

  });
})

'controllers.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 及其模块。我希望有人能把我送到正确的方向。

提前致谢。

4

2 回答 2

0

尝试像这样声明你的常量

angular.module('myApp.constants', []).constant('const', {username: 'abc'});
于 2017-01-23T07:18:23.017 回答
0

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'
    }
})());

然后检查它..

于 2017-01-23T07:18:39.867 回答