将以前的历史路线与角度为

时间:2018-02-19 16:04:32

标签: angularjs angularjs-ng-route

如果用户在angularjs ng-route之前在当前页面中,是否有可能获得先前的后退路线并与当前路线进行比较? 例如 如果用户在列表提要上并单击项目然后点击默认/站点返回按钮到当前页面,则当前页面将知道他/她之前在这里。

1 个答案:

答案 0 :(得分:1)

您可以使用$ rootScope实现自己的路由历史记录:

$rootScope.$on('$locationChangeStart', function(ev, newUrl, oldUrl) {
    // Push previous Url into array.
    $rootScope.routes.push(oldUrl);
});

然后与当前路线进行比较:

$rootScope.$on('$locationChangeSuccess', function(ev, newUrl) {
    // Check if you've been here before.
    var visited = $rootScope.routes.indexOf(newUrl) !== -1;
});

不要忘记将 $ rootScope 注入您的控制器:

App.run(['$rootScope', function($rootScope) {
    $rootScope.routes = [];
});