在Angular UI-Router中,如何在不改变浏览器历史记录的情况下更改状态?

23

假设我们有以下逻辑:

  • 从状态A,转移到状态B。
  • 每当我们到达状态B时,应用程序总是通过调用$state.go(stateC)将我们重定向到状态C
  • 现在我们在状态C中

我的问题是如何从状态C回到状态A(考虑到状态A在运行时可以是任何状态,意味着用户可以从任何其他状态访问状态B)

2个回答

46

正是我需要的!非常非常感谢你。 - Thịnh Phạm

-2

您可以在服务中跟踪已访问的状态,然后只需调用 $state.go 返回到上一个状态。

您可以像下面这样观察状态变化:

$rootScope.$on('$stateChangeStart', 
function(event, toState, toParams, fromState, fromParams){ 
    // add fromState to history 
});

如何在AngularJS中$watch $stateProvider的状态变化?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接