浏览器历史记录:跳过抽象状态

时间:2016-06-08 23:26:19

标签: angularjs angular-ui-router html5-history

浏览器后退按钮导航按预期工作,但在遇到抽象状态时,它会解析为原始状态(必须是导航到的抽象状态的子项)。

在angular-ui-router中是否有办法抑制抽象状态被添加到历史记录中?

1 个答案:

答案 0 :(得分:1)

有同样的问题。我希望它能帮到你How do I get the Back Button to work with an AngularJS ui-router state machine?

这对我来说有点困难,似乎必须有一个更简单的解决方案

修改 我做的。 首先,你需要你的旧状态(我们还有本地存储的包装器,所以你应该改变方法)。

csc.exe

我们还编写了一个服务,在将您的下一个常规状态与最后一个状态进行比较后,从抽象状态重定向到常规状态

angular
    .module('app')
    .run(appRunFunction);

appRunFunction.$inject = ['$rootScope', 'localstorage'];

function appRunFunction($rootScope, localstorage) {
    $rootScope.$on('$stateChangeSuccess', function(event, toState, toParam, fromState, fromParam) {
      localstorage.setValue('lastState', fromState.name);
    });
};