当我添加返回 Observable 或 Promise(在本例中为 Promise)的 canActivate 时,路由可以正常工作,但它似乎会阻止(单击)事件、管道无法正常工作等......这些功能都可以作为只要我让 canActivate 就返回 true。有什么建议么?
可以激活
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | boolean | Promise<boolean> {
return Stamplay.User.currentUser()
.then((res) => {
if (res.user) {
return true;
} else {
this.router.navigate(['/login']);
return false;
}
}).catch(() => {
this.router.navigate(['/login']);
return false;
});
例如,材质搜索不适用于 canActivate,但当我只返回 true 或取出 canActivate 时,它可以完美运行。