角度位置更改重置浏览器历史记录

时间:2014-05-15 21:26:27

标签: angularjs angularjs-scope browser-history angularjs-service html5-history

我在$locationChangeStart上观看更改,如果用户在Step2上,并且他们尝试通过浏览器返回按钮转到Step1,我已成功中断此操作,显示警报,并且只有在用户按下OK时才会继续导航。

但是,使用event.preventDefault中断此操作实际上会删除转发历史记录。 所以,如果他们去了:step3 -> step2 -> attempt To step 1 -> stay on step 2。然后,通过前进按钮

实际上无法再访问第3步
    $rootScope.$on('$locationChangeStart',
        function(event, toState, toParams, fromState, fromParams) {
            // interrupt going from step 2 to step 1
            if(toState.indexOf("step1") != -1) {
               event.preventDefault();
               // logic / modal popup here
            }
        });
    );

我显然希望前进按钮允许step3可以访问,但是它不是在event.preventDefault()之后,任何见解?

0 个答案:

没有答案