如何在Angular5中使用延迟加载的要素模块

时间:2018-03-30 00:02:39

标签: angular

我正在尝试使用延迟加载来加载模块。 我使用Angular5.x,Angular material2.x和firebase。

当前行为

scene modulescene module不起作用。 即使加载/auth,也不会显示场景组件。

预期行为

两个路由模块都应该路由右侧组件。 加载app-routing.module.ts后,可以看到我在//app-routing.module.ts const routes: Routes = [ {path: '', redirectTo: '/auth', pathMatch: 'full'}, {path: 'auth', component: AuthComponent}, {path: 'scene', loadChildren: './scene/scene.module#SceneModule'} ]; 中声明的场景组件。

解释

如果网址为空,则重定向到auth.component.ts,以便用户登录。 所以,我在export class AuthComponent { constructor(private router: Router, public auth: AuthService, private relativeRouter: ActivatedRoute) { this.tokenCheck(); } signIn() { this.auth.googleLogin().then( () => location.reload() ); } tokenCheck() { const token = localStorage.getItem('userToken'); if (token) { console.log('here'); this.router.navigate(['../scene'], { relativeTo: this.relativeRouter }); } } } 中设置了这样的路由器。

@NgModule({
  imports: [ CommonModule ],
  declarations: [
    SceneComponent,
    HeaderComponent,
    TabComponent
  ],
  exports: [
    SceneComponent,
    HeaderComponent,
    TabComponent
  ]
})

用户登录后,imagepng($this->image);检查用户是否有令牌。 如果用户有令牌,则路由到场景组件。

这是我的代码

auth.component.ts

void

scene.module.ts

ClassMapper

0 个答案:

没有答案