【发布时间】:2012-08-17 13:27:25
【问题描述】:
在 AngularJS 中,我有一个登录控制器,如果用户到达该页面但未登录,应用程序中的每个页面都会重定向到该控制器。在登录序列之后,我想将用户重定向回他们来自的页面。最好的方法是什么?保存$rootScope 中的旧位置?重定向到'/login?returnto=' + $location.path()?有内置函数吗?
【问题讨论】:
标签: angularjs
在 AngularJS 中,我有一个登录控制器,如果用户到达该页面但未登录,应用程序中的每个页面都会重定向到该控制器。在登录序列之后,我想将用户重定向回他们来自的页面。最好的方法是什么?保存$rootScope 中的旧位置?重定向到'/login?returnto=' + $location.path()?有内置函数吗?
【问题讨论】:
标签: angularjs
您可以使用$rootScope 或定义服务来保存旧位置。这是一个SO post,它对比了这两种方法。我个人不喜欢在 URL 中添加returnto=。
您可能会对这篇博文Authentication in AngularJS 感兴趣。请注意 Vojta(AngularJS 的作者之一)在该博客文章中关于使用 $rootScope 的评论——他推荐了一项服务。
【讨论】: