angular – 未捕获(承诺):错误:无法找到加载’AchivementCompo
发布时间:2020-12-17 17:46:37 所属栏目:安全 来源:网络整理
导读:我正在开发一个Angular2应用程序,我陷入了路由配置.我拒绝了路由和导航的官方文档并适当地使用它们.它具有不适当的路由结构. -Login Page-Home Page |-Achievement |-Task 我用auth guard来保护主页路由.在主页中有一个标题和链接,用于浏览子组件.目前,如果
我正在开发一个Angular2应用程序,我陷入了路由配置.我拒绝了路由和导航的官方文档并适当地使用它们.它具有不适当的路由结构.
-Login Page -Home Page |-Achievement |-Task 我用auth guard来保护主页路由.在主页中有一个标题和链接,用于浏览子组件.目前,如果我点击链接,它会加载包含子组件的整个主页, APP-routing.module.ts .. @NgModule({ imports:[ RouterModule.forRoot([ { path: 'login',component: LoginComponent },{ path: 'home',component: HomeComponent,canActivate [LoggedInGuard],children:[ { path: 'achievement',component:AchievementComponent },{ path: 'task',component:TaskComponent },{ path: '',redirectTo:'achievement',pathMatch:'full' } ] },redirectTo:'home',pathMatch:'full' },]) ],exports:[ RouterModule ] }) export class AppRoutingModule { } app.module.ts @NgModule({ imports: [ BrowserModule,FormsModule,HttpModule,AppRoutingModule,AngularFireModule.initializeApp(firebaseConfig,firebaseAuthConfig),],declarations: [ AppComponent,LoginComponent,HomeComponent,AchievementComponent,TaskComponent,providers: [ UserService,DataService,LoggedInGuard,StorageService ],bootstrap: [AppComponent],}) export class AppModule { } app.component.html文件仅包含< router-outlet>< / router-outlet>标签. home.component.html <div *ngIf="validUser"> ....... <nav> <a routerLink="achivement" >Achivement</a> <a routerLink="task" >Task</a> </nav> <router-outlet></router-outlet> </div> screen shots 谁能给出解决方案呢? 解决方法
此错误的原因是* ngIf部分在home.component.html文件中.在开始时,validUser变量为false,验证后用户validUser值更改为true.
因此,在开始时,没有路由器插座来加载子组件,在validUser值更改为true之后,如果单击其中一个链接,则根组件和子组件都会加载一次. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |