我有以下运行块:
app.run(function($rootScope, $ionicLoading,$location,$localStorage,$state, $timeout,
$window) {
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
if($localStorage.userInfo !== null && toState.name !== 'Deployment' && $state.current.name !== 'Deployment'){
$state.go('Deployment', {}, {reload: true});
console.log($state);
console.log($state.current);
event.preventDefault();
return;
}
});
$state
,
它给出了:
$current: extend
current: Object
name: "Deployment"
templateUrl: "templates/deployment.html"
url: "/deployment"
__proto__: Object
WITH $ state.current:
Object {name: "", url: "^", views: null, abstract: true}
它给出了一个错误,表示已达到10次摘要迭代。我怀疑它发生了,因为$state.current.name
是空的,因此如果条件失败。
或者可能是因为我正在更改statechangeStart事件中的状态并且它进入循环。
如何解决此错误?
此外,为什么当$ state具有正确值的当前对象时,我在$ state.current中得到一个空对象。