我目前正在AngularJS代码库中工作,该代码根据每个toggle
上附加的一些customer
元素来触发不同的路由。在我的应用中,当我使用同一变量进行分支时,需要在app.js
文件中两次路由到不同的位置,一次是在控制器中管理状态,另一次是在控制器中。
我尝试结合使用手动引导和run
方法,但没有成功。
var app = angular
.module('app', ['customer'])
.run(function (customer) {
angular.element(document).ready(function () {
customer.myMethod().then(function (enabled) {
enabled = enabled;
angular.bootstrap(document, ['app']);
});
});
});
$stateProvider
.state('home', {
url: enabled ? '/' : '/customer',
templateUrl: 'views/home.html',
controller: 'HomeCtrl',
data: {
title: 'Home'
}
})
然后在我的控制器中,例如,在我的init
方法中使用相同的变量:
$scope.init = function () {
if (enabled) { ... }
else { ... }
}
$scope.init();
我注意到enabled
变量最终被设置了,但是它在状态确定后发生。有没有一种方法可以在我的AngularJS应用启动之前设置全局变量,以便在任何地方使用它?
谢谢