我想用戶重定向到一些國家,我從API調用得到這樣的:角API調用stateChangeStart
$scope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){
event.preventDefault();
AppService
.currentState()
.success(function(data) {
$state.transitionTo(data.pageName, null, {notify:false});
});
});
這會使URL正確改變,但頁面不會被渲染。任何想法爲什麼?
我即使沒有API調用試圖像
$scope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){
event.preventDefault();
$state.go('app.home', null, {location: true, notify:false});
});
如果URL的變化,但該頁面沒有得到渲染我猜你模板定義有一些問題。你能告訴我們** app.home **狀態的定義和你的視圖結構嗎? –
Bro每當你打電話給$ state.go時,它都會循環播放它來到$ stateChangeStart並且它阻止它去做它的東西 –
@SiddharthPandey不!注意'notify:false'告訴ui-router不要廣播$ stateChangeStart和$ stateChangeSuccess事件。來源:[$ state.go文檔](https://github.com/angular-ui/ui-router/wiki/Quick-Reference#stategoto--toparams--options)。 –