0
我已將onExit回調添加到我的某個州,並且發現我的應用正在退出並重新進入我的狀態,如果我不這麼認爲。我查看了他們的文檔,但我還沒有找到任何能夠解釋導致狀態轉換的確切內容。什麼可以觸發Angular UI路由器的狀態變化?
我有這樣的事情
$stateProvider
.state('ParentState', {
abstract: true,
url: '/parent',
data: {
flow: 'Parent'
},
views: {
'main': {
template: indexTpl
}
},
onExit: function() {
console.log('onExit');
}
})
.state('ChildState', {
parent: 'ParentState',
url: '?a&b',
resolve: {
resolvedData: ['$stateParams', 'service', function($stateParams, service) {
service.resolveData($stateParams);
}
},
views: {
...
}
};
我注意到的行爲是,我會在/父?A =東西& B = somethingElse,然後觸發一些地方a或b得到改變不同值,這會導致解析再次運行。我不希望'ParentState'退出,因爲變量在子狀態中發生變化,但是正在調用onExit。
我想知道什麼情況下可以觸發狀態更改,以便我可以使用onExit回調,並確切知道它何時會被調用。
父onExit回調被調用的原因也是因爲在調用state.go我傳入了{reload:true},所以我認爲這導致子狀態和父狀態都退出並重新輸入 – user1809913