2017-01-17 1 views
0

で宣言しましたワイルドカードのルートを表示し、ここに私のコードです:ワイルドカードルートは私がアプリにエントリポイントを指定<strong>AppRoutingModule</strong>後<strong>AppModule</strong>にインポートしています<strong>CoreModule</strong>を作成したが、私はアプリはそれを起動するという問題を抱えているサブモジュール

CoreRoutingModule

export const CoreRoutingModule = RouterModule.forRoot([ 
    { path: '**', component: NotFoundComponent } 
]); 

CoreModule

@NgModule({ 
    imports: [ 
    CommonModule, 
    CoreRoutingModule 
    ], 
    declarations: [ NotFoundComponent ] 
}) 
export class CoreModule {} 

AppRoutingModule

export const AppRoutingModule = RouterModule.forRoot([ 
    { path: '', component: AppComponent } 
]); 

AppModule

@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    imports: [ 
    AppRoutingModule, 
    CoreModule 
    ], 
    providers: [], 
    bootstrap: [ AppComponent ] 
}) 
export class AppModule {} 

私はそれがAppComponentを表示すべき時にアプリが表示されNotFoundComponentとワイルドカードのルートが何であるかをhttp://localhost/にアクセスすると

作業中:2.4.3、ルータ3.4.3

答えて

0

あなたのコードに何が間違っているのかよくわかりません。すべてのファイルなしでcantテスト。とにかくこれはうまくいくと思います。これを試してみてください...(pathMatch)とリダイレクトを追加して

export const AppRoutingModule = RouterModule.forRoot([ 
     { path: '', redirectTo: '/whereToGo', pathMatch: 'full'} 
    ]); 

を参照してください。それが役に立てば幸い。 https://angular.io/docs/ts/latest/guide/router.html#!#default-route

+0

問題を再現するのに必要なコードを提供しましたが、 'pathMatch = 'full''プロパティが役に立たなかった –

+0

私はansを編集しました。チェックしてください。 – hackmith

+0

私はAppRoutingModuleでワイルドカードルートを追加すると、別のルートにリダイレクトする必要はありませんが、AppRoutingModuleですべて動作しますが、他のモジュールで作成した場合は、アプリケーションのエントリポイントは ''''です。 –

0

最初のルートはルートレベルで順番に一致します。

あなたのケースでは**が前に来るので、**ルートはレンダリングされます。

関連する問題

 関連する問題