Angularjs 如何获取 URL 引用器



在AngularJS中,我有一个登录控制器,如果用户到达该页面并且未登录,则应用程序中的每个页面都会重定向到该控制器。在登录序列之后,我想将用户重定向回他们来自的页面。最好的方法是什么?

您可以使用 history.back() 让用户导航到他之前所在的页面。这适用于所有情况,除非用户直接导航到登录页面:)

另一种解决方案是在从另一个页面导航时将搜索参数传递给登录页面。然后,您可以从登录页面中选择导航到搜索参数的页面(如果存在),否则导航到"主页"。

也许您可以捕获路线更改,当目标是您的登录页面时,它可以保存旧路线。登录后,您可以重定向到旧路由

angular.module('appName')
  .run(['$rootScope','$location', '$routeParams', function($rootScope, $location, $routeParams) {
    $rootScope.$on('$routeChangeSuccess', function(e, next, cur) {
       if (next.path() == 'your/login/path') {
          $rootScope.savedRoute = $location.path());
          $rootScope.savedParams = $routeParams;
       }
    }
  }]);

我不确定 path() 是否是正确的函数,但我想你可以明白我的意思

最新更新