Angular JS

时间:2017-04-06 02:16:02

标签: javascript angularjs window directive

我正在建立网站,而且我遇到了关于window.history.back的问题。

我使用了window.history.back()来回复'希望它能够作为浏览器上的后退按钮。

当我按下'返回'按钮连续两次,我在两页之间进行无限循环。

例如,我们假设有三个页面,A,B和C.

只能通过第A页访问页面B.

只能通过第B页访问页面C.

'返回'按钮位于一个栏中,作为单独的指令实现。 Page B和Page C都使用此指令。

当我到达Page C并按下后退按钮时,我被定向到第B页。如果我再次点击页面B中的后退按钮,我将被定向回到第C页。之后,我按下第C页上的后退按钮,I进入Page B和C之间的无限循环。

我该如何解决这个问题?

下面的代码是bar的指令

.directive('BarBack', [function() {
    return {
        replace: false,
        restrict: 'E',
        template: '<bar-button et-icon="keyboard_arrow_left" on-click="ctrl.onClick()">{{ "BACK" | translate }}</bar-button>',
        transclude: false,
        scope: {
            icon: '@',
            stringId: '@',
            state: '@'
        },
        controllerAs: 'ctrl',
        controller: ['$window', function($window) {
            var ctrl = this;

            ctrl.onClick = function() {
                $window.history.back();
            }
        }]
    }
}])

我无法对特定位置进行硬编码。

提前谢谢。

0 个答案:

没有答案