簡體   English   中英

AngularJS UI路由器回到當前狀態

[英]angularjs ui-router come back to the current state

我在應用程序中使用了角度ui-router 我有兩個狀態, create-applist-apps 當我創建一個應用程序時,我會轉換為參數id等於null的狀態為create-app 問題是,當我處於狀態create-app我無法transitionTo create-app 用例是,如果在創建應用程序的過程中我想創建另一個應用程序,我必須要transitionTocreate-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發現fromStatetoState不同。 即使這樣也不起作用。 有什么辦法可以做到嗎?

您可以使用$ state.reload()。 在github上有關於此的討論。
像這樣使用它:

$state.reload();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM