将之前的历史路线与 angular 中的当前路线进行比较
Compare previous history route with current route in angular
如果用户在 angularjs ng-route 之前在当前页面中,是否有可能获取先前的回击路线并与当前路线进行比较?
例如
如果用户在列表提要上并单击项目,然后点击 default/site 后退按钮返回当前页面,则当前页面将知道 he/she 之前在此处。
您可以使用 $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 = [];
});
如果用户在 angularjs ng-route 之前在当前页面中,是否有可能获取先前的回击路线并与当前路线进行比较? 例如 如果用户在列表提要上并单击项目,然后点击 default/site 后退按钮返回当前页面,则当前页面将知道 he/she 之前在此处。
您可以使用 $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 = [];
});