假设我们有这样的逻辑:
hana::set
我的问题是如何从状态C回到状态A(假设状态A可以是我们在运行时不知道的任何状态,这意味着用户可以从任何其他状态访问状态B)
答案 0 :(得分:30)
使用location
选项,其值为"替换" ...
$state.go(stateC, null, {
location: 'replace'
})
请参阅https://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$state#methods_go
位置 - {boolean = true | string =} - 如果
true
将更新位置栏中的网址,则false
将不会。如果是字符串,则必须为"replace"
,这将更新网址并替换上次历史记录。
答案 1 :(得分:-1)
您可以跟踪服务中的访问状态,然后在之前的状态中调用$ state.go。
你可以像这样观察状态变化:
$rootScope.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams){
// add fromState to history
});