ui-router:在变更状态下调用旧控制器

时间:2016-01-13 09:05:50

标签: javascript angularjs angular-ui-router

我的应用中有一个分页,它使用网址部分来存储页码:网址如下:/someList/1/someList2/等。

我使用$state.go($state.current.name, {page: $scope.currentPage}, {reload: false, notify: false});

更改此部分

此时此功能正常。

但是在任何状态改变之后,someList的控制器被调用。如果我将notify更改为true,则永远不会发生这种情况,但这会影响我的分页逻辑。

那么:有没有办法阻止那个旧控制器被调用,可能在$stateChangeStart处理程序中?

1 个答案:

答案 0 :(得分:0)

好吧,我找到了解决方法:

  • x[0][4][9][9][9]事件处理程序中将变量nil设置为nil,并在$rootScope.stateChanging中设置为true
  • 现在它可以在$stateChangeStart之类的控制器中使用,以阻止执行控制器功能。

我认为这不是一个合适的解决方案,因此我已将此问题报告为问题(https://github.com/angular-ui/ui-router/issues/2457),但它可能对某人有所帮助。