2017-10-16 165 views
0

编辑去除我的嵌套插座上“名称”和去除的路由模块的“出口”属性时,它的工作原理。在使用命名之前有一个无名插座是强制性的吗?角4路由:嵌套的子观点:“URL段未找到”

以下RouterMOdule配置到位:

const appRoutes: Routes = [ 

    // Public area: login (default) 
    { path: '', component: LandingPageComponent, 
    canActivate: [AuthAutoRedirectService], 
    children: [ 
     { path: '',  outlet: 'active-box', component: LoginComponent } 
    ] 
    }, 

    // Secure area 
    { path: 'secure', component: SecureAreaComponent, 
    canActivate: [AuthGuardService], 
    data: { roles: ['user'] }, 
    children: [ 

     // Dashboard (default) 
     { path: '',    outlet: 'main-content', component: DashboardComponent }, 

     // Resolutions 
     { path: 'resolutions', outlet: 'main-content', component: ResolutionsComponent }, 

     // Documents 
     { path: 'documents', outlet: 'main-content', component: DocumentsComponent }, 
    ] 
    }, 

]; 

@NgModule({ 
    imports:[ 
    RouterModule.forRoot(appRoutes) 
    ], 
    exports:[ 
    RouterModule // configured router module 
    ] 
}) 
  • router-outlet:显示登录页面或安全区下落 | - router-outlet name="main-content"显示在所述安全区域中的选择的页

    • localhost:4200/适当供应登录页面
    • localhost:4200/secure适当供应安全区域,示出了“仪表板”作为主页

core.es5.js:1020 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'secure/documents' 
Error: Cannot match any routes. URL Segment: 'secure/documents' 
:试图访问安全区域的其他孩子时出现问题

可能是什么原因?

谢谢...

回答

0

好吧,这说明了: https://github.com/angular/angular/issues/14830

你必须有一个名为主要出口的模板(如果你不指定名称将是主要是默认的)。命名的网点是辅助的。

出口与名称为“辅助”插座。至少需要一个“主”(又名“未命名”)出路。