Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 动态路由刷新问题_Angular - Fatal编程技术网

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时,一切都像一个魔咒。正常使用应用程序-
登录
->
导航栏
->
注销

有什么想法吗