Angular 2 RC4 路由器在激活前获取预期路线
Angular 2 RC4 Router get intended route before activated
我试图在激活之前确定该路由是什么,以便我可以缓存它并在用户登录后将其重定向回该路由。
在旧的 beta 路由器中,我能够在激活挂钩中调用 ComponentInstruction.routeName
,但在较新的 canActivate()
守卫中,我看不到在激活之前访问预期路由的方法。
当用户在我的应用程序中单击导航按钮时,我可以将预期路线存储在共享服务中,但是当他们在地址栏中输入 URL 时呢?
来自 angular 路由器源文件:
export interface CanDeactivate<T> {
canDeactivate(component: T,
route:ActivatedRouteSnapshot,
state:RouterStateSnapshot): Observable<boolean> | boolean;
}
ActivatedRouteSnapshot
对象(路线)有 url
属性 - 另一种类型的数组,在 属性 path
您当前路径的第一个对象中。
同样在 RouterStateSnapshot
对象(状态)中只有带有当前路径的字符串 属性 url
,但带有 /
前缀。
只需将这些参数传递给您的 canDeactivate 方法)
我试图在激活之前确定该路由是什么,以便我可以缓存它并在用户登录后将其重定向回该路由。
在旧的 beta 路由器中,我能够在激活挂钩中调用 ComponentInstruction.routeName
,但在较新的 canActivate()
守卫中,我看不到在激活之前访问预期路由的方法。
当用户在我的应用程序中单击导航按钮时,我可以将预期路线存储在共享服务中,但是当他们在地址栏中输入 URL 时呢?
来自 angular 路由器源文件:
export interface CanDeactivate<T> {
canDeactivate(component: T,
route:ActivatedRouteSnapshot,
state:RouterStateSnapshot): Observable<boolean> | boolean;
}
ActivatedRouteSnapshot
对象(路线)有 url
属性 - 另一种类型的数组,在 属性 path
您当前路径的第一个对象中。
同样在 RouterStateSnapshot
对象(状态)中只有带有当前路径的字符串 属性 url
,但带有 /
前缀。
只需将这些参数传递给您的 canDeactivate 方法)