繁体   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