我定义了一个$routeProvider
添加access
到路线的:
$routeProvider.when('/tracks/:trackTitle/:mediaTitle',
{
templateUrl: 'views/track-detail.html',
controller: 'MediaCtrl',
access: access.user
...
}
我正在收听$routeChangeStart
更改事件并检查用户是否可以访问该页面。如果不是,我将路由保存在 cookiestore 中并在用户登录后加载它。
$rootScope.$on("$routeChangeStart", function (event, next, current) {
$rootScope.error = null;
if (!Auth.authorize(next.access)) {
if (!Auth.isLoggedIn())
$cookieStore.put('current.user.originalPath', originalPath);
$location.path('/signup');
}});
问题是next
对象由于某种原因在 cookiestore 的 put 和 get 之间发生了变化。
下一个之前$cookieStore.put
是:
$$route: Object
params: Object
pathParams: Object
__proto__: Object
当我使用$cookieStore.get
该值 获取对象时
params: Object
pathParams: Object
__proto__: Object
我得到没有 $$route 对象的对象。
为什么会这样,我该如何解决?