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