[英]angularjs ui-router come back to the current state
我在應用程序中使用了角度ui-router
。 我有兩個狀態, create-app
和list-apps
。 當我創建一個應用程序時,我會轉換為參數id
等於null
的狀態為create-app
。 問題是,當我處於狀態create-app
我無法transitionTo
create-app
。 用例是,如果在創建應用程序的過程中我想創建另一個應用程序,我必須要transitionTo
到create-app
但是由於狀態已經是create-app
ui-router,因此不會更改狀態。 我知道這是因為我尋找了$stateChangeStart
和$stateChangeSuccess
事件的觸發。 這些都不火。 但是,當我在“列表應用”或什create-app
具有參數id
不等於null
create-app
時(這是edit應用),我可以進入狀態create-app
。
$scope.createApp = function() {
$state.transitionTo('create-app', {id: null});
};
所以我嘗試了這個
$scope.createApp = function() {
if ($state.current.name == 'create-app' && $state.params.id == null) { // when the state is create-app and not list-apps or edit-app
$state.current.name = '';
}
$state.transitionTo('create-app', {id: null});
};
在這種情況下,當狀態為create-app
且i再次嘗試進入相同狀態時,我將狀態名稱更改為''
並將params更改為null
以便angular發現fromState
和toState
不同。 即使這樣也不起作用。 有什么辦法可以做到嗎?
您可以使用$ state.reload()。 在github上有關於此的討論。
像這樣使用它:
$state.reload();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.