【问题标题】: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 = [];
});

【讨论】:

  • 非常感谢,我从昨天就一直在找这个
猜你喜欢
  • 1970-01-01
  • 2020-03-16
  • 1970-01-01
  • 2018-12-24
  • 2020-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多