无法向其他模块注入常量 angularjs 离子



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

我做了"常数.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'
    }
})());

然后检查一下..

相关内容

  • 没有找到相关文章

最新更新