在$ stateChangeStart上执行event.preventDefault()会创建一个重复的状态

时间:2014-02-17 22:41:51

标签: javascript angularjs angular-ui-router

onetwo是使用 ui-router 创建的状态,其中包含网址/one/two。假设我导航了以下状态:

two - > one

(在浏览器栏中,我看到/two - > /one

然后我点击后退按钮,而不是转换回two我故意阻止状态更改,如下所示:

   $scope.firstTime = true;

   $rootScope.$on('$stateChangeStart',
        function(event, toState, toParams, fromState, fromParams){
          if ($scope.firstTime) {
            event.preventDefault();
            $scope.firstTime = false;
          }
        });

现在我再次点击返回,这次不会阻止状态更改,但不会返回two ui-router 仍然保持打开状态州one/one)....现在,如果我再次点击回来,我可以回到州two/two)。

如何在第一次点击返回时阻止ui-router重复状态one

0 个答案:

没有答案