2016-08-12 17 views
4

私は子供のルーティング作業を取得しようとしています、これは私が取得していますエラーです。ここ角度2 RC5子ルーティングの問題

EXCEPTION: Error: Uncaught (in promise): Error: Cannot match any routes: 'settings' 

である私のapp.modules.ts

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 
import { FormsModule } from '@angular/forms'; 
import { AppComponent } from './app.component'; 
import { routeComponents, routing, appRoutingProviders } from './app.routes'; 


@NgModule({ 
    declarations: [ 
     AppComponent, 
     routeComponents 
    ], 
    imports: [ 
     BrowserModule, 
     CommonModule, 
     FormsModule, 
     routing 
    ], 
    providers: [ appRoutingProviders ], 
    entryComponents: [AppComponent], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { 

} 

ここにここに私のapp.routes.ts

import { Routes, RouterModule } from '@angular/router'; 
import { DashboardComponent } from './dashboard/'; 
import { settingsRoutes, settingsComponents } from './settings/'; 

const appRoutes: Routes = [ 
    { path: '', redirectTo: 'dashboard', pathMatch: 'full'}, 
    { path: 'dashboard', component: DashboardComponent }, 
    ...settingsRoutes 
]; 

export const appRoutingProviders: any[] = [ 

]; 

export const routeComponents: any[] = [ 
    DashboardComponent, 
    ...settingsComponents 
]; 

export const routing = RouterModule.forRoot(appRoutes, {useHash: true}); 

は私のsettings.routes.ts

0です
import { Routes } from '@angular/router'; 
import { SettingsComponent } from "./settings.component"; 
import { DashboardSettingsComponent } from "./dashboard-settings/dashboard-settings.component"; 

export const settingsRoutes: Routes = [ 
    { 
     path: 'settings', 
     component: SettingsComponent, 
     children: [ 
      { path: 'dashboard-settings', component: DashboardSettingsComponent } 
     ] 
    } 
]; 

export const travelSettingsComponents = [ 
    SettingsComponent, 
    DashboardSettingsComponent 
]; 

**私はsettings.routes.tsファイルからこの行を削除した場合は、エラーがないと、それは私が設定ルートに移動することができます:あなたは子供のルートを持っている場合

{ path: 'dashboard-settings', component: DashboardSettingsComponent } 

答えて

3

/settings/settings/dashboard-settings

+1

のTh:

children: [ { path: '', component: SettingsComponent }, { path: 'dashboard-settings', component: DashboardSettingsComponent } ] 

これは、次のURLを生成します:、私はあなたがそうのようなデフォルトの子のパスを指定する必要が信じていますanks。これは私にとってはうまくいったが、デフォルトの子パスを追加したとき、そのコンポーネントのインスタンスを持っていた。この問題を解決するためにトップレベルのルートから 'component:SettingsComponent'も削除する必要があるようです。 –

関連する問題