我有一个routes.ts
如下文件:
import { AuthGuardService as AuthGuard } from '../services/auth-guard.service';
export const routes:Routes = [
{path : '' , redirectTo : '/home' , pathMatch : 'full'},
{path: 'home' , component : HomeComponent},
{path: 'users' , component : UsersComponent, canActivate: [AuthGuard]},
];
和这样的auth-guard.service.ts
文件:
export class AuthGuardService implements CanActivate {
constructor(public auth: AuthService, public router: Router) {}
canActivate(): boolean {
if (!this.auth.isLoggedIn()) {
this.router.navigate(['home']);
return false;
}
return true;
}
}
它适用于已知路线,users
但是当我尝试未知路线时homeee
,它无法正常工作,并显示一个带有页眉和页脚且中间没有内容的页面。如何将所有未知路由重定向到主组件?
我也想知道这是我喜欢做的事情的好方法吗?(我喜欢只有登录用户有权查看除主组件之外的其他组件,并且登录前的所有路由都被重定向到主组件)。