angularjs ui-router回到当前状态

时间:2014-01-07 11:03:56

标签: javascript angularjs angular-ui-router

我在我的应用程序中使用了角度ui-router。我有2个州,​​create-applist-apps。当我创建应用时,我会转换到状态create-app,其中参数id等于null。问题是当我处于状态create-app时,我无法transitionTo create-app。用例是,如果在创建应用程序的过程中我想要创建另一个应用程序,我必须transitionTo create-app,但由于状态已经create-app,因此ui-router不会更改州。我知道这是因为我寻找$stateChangeStart$stateChangeSuccess事件。这些都不是火。但是当我在“list-apps”甚至是create-app时,param id不等于null(编辑应用),我可以来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再次尝试进入相同状态时,我将状态名称更改为''并将参数更改为null,以便角度找到fromState 1}}和toState不同。即使这样也行不通。我有办法做到这一点吗?

1 个答案:

答案 0 :(得分:0)

您可以使用$state.reload(). github就此here进行了讨论 像这样使用它:

$state.reload();