Angular.js常量问题

Angular.js constants issue?

本文关键字:问题 常量 js Angular      更新时间:2023-09-26

我有点困惑,我正在遵循本教程,试图让authentication发挥作用。https://devdactic.com/user-auth-angularjs-ionic/

我被第一阶段卡住了

这是我的app.js

// create main module, adding dependencies for ionic, angular router, angular  mock and apps own modules
var jailbreak = angular.module('jailbreak', ['ionic', 'ui.router', 'map', 'chat', 'constant'])
jailbreak.run(function(AUTH_EVENTS) {
  document.getElementById('debug').innerHTML = JSON.stringify(AUTH_EVENTS);
})

这是我的constants.js

angular
  .module('constant', [])
  .constant('AUTH_EVENTS', {
    notAuthenticated: 'auth-not-authenticated',
    notAuthorized: 'auth-not-authorized'
  })
  .constant('USER_ROLES', {
    admin: 'admin_role',
    public: 'public_role'
  });

这可能是一个语法错误,在模块声明后有一个分号,但随后您试图将.constant链接到它上。

更改此项:

var constants = angular.module('constant', []);

进入这个:

var constants = angular.module('constant', [])

angular尝试引导主模块时,其他模块应该可用:(注意,避免全局变量,使用getter访问模块)

angular
  .module('constant', [])
  .constant('AUTH_EVENTS', {
    notAuthenticated: 'auth-not-authenticated',
    notAuthorized: 'auth-not-authorized'
  })
  .constant('USER_ROLES', {
    admin: 'admin_role',
    public: 'public_role'
  });
angular
  .module('jailbreak', [
    /** 'ionic', 'ui.router', 'map', 'chat', **/ 'constant' /**, 'ngMockE2E' **/
  ])
  .run(function(AUTH_EVENTS) {
    document.getElementById('debug').innerHTML = JSON.stringify(AUTH_EVENTS);
  });
#debug {
  margin: 20px;
  padding: 10px;
  border: 1px solid cyan;
  background: rgba(0, 255, 255, .3);
  font-family: monospace;
  word-wrap: break-all;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<section ng-app="jailbreak"></section>
<div id="debug"></div>