【问题标题】:Compare previous history route with current route in angular比较以前的历史路线和当前路线的角度
【发布时间】:2018-02-20 00:42:23
【问题描述】:
如果用户之前在 angularjs ng-route 中处于当前页面中,是否可以获得先前的回击路线并与当前路线进行比较?
例如
如果用户在列表提要上并点击项目然后点击默认/站点返回按钮到当前页面,当前页面将知道他/她之前在这里。
【问题讨论】:
-
欢迎您。请提供有关您尝试过的操作和发生的情况的更多信息。使用tour 可能是个好主意。
标签:
angularjs
angularjs-ng-route
【解决方案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 = [];
});