Angular 动态路由刷新问题
我创建了动态路由:Angular 动态路由刷新问题,angular,Angular,我创建了动态路由: public overrideRoutes(isAuthenticated: boolean, isFoo: boolean): void { const newRoutes = isAuthenticated ? this.routesProvider.getAuthenticatedRoutes(isFoo) : this.routesProvider.getAnonymousRoutes(); this.router.reset
public overrideRoutes(isAuthenticated: boolean, isFoo: boolean): void {
const newRoutes = isAuthenticated
? this.routesProvider.getAuthenticatedRoutes(isFoo)
: this.routesProvider.getAnonymousRoutes();
this.router.resetConfig(newRoutes);
}
路由提供程序的实现如下所示:
routes = [
{
path: '', loadChildren: () => import('foo/foo.module').then(mod => mod.FooModule)
}
];
LoginModule,
RegistrationModule,
AnonymousRoutingModule,
还有导入LoginModule
和RegistrationModule
的anonymous
模块。实施情况如下:
{
path: '',
redirectTo: 'login',
pathMatch: 'full'
},
{
path: 'login',
component: LoginComponent,
canActivate: [UnAuthenticatedGuard]
}
在匿名路由模块中,通配符配置为最后一个,导入顺序如下:
routes = [
{
path: '', loadChildren: () => import('foo/foo.module').then(mod => mod.FooModule)
}
];
LoginModule,
RegistrationModule,
AnonymousRoutingModule,
现在的问题是,当我在FooModule
上并将url
更改为一些不存在的url,如/asd
时,我被正确地重定向到未找到
页面,但当我按下注销
并替换路由器配置时,当按下登录
按钮时,我会看到未找到
页面。
console.log中的路由器配置正确返回所有路径
问题是,当我没有手动搞乱url时,一切都像一个魔咒。正常使用应用程序-登录
->导航栏
->注销
有什么想法吗