2017-01-17 1 views
0

은 내가 응용 프로그램에 대한 진입 점을 지정 AppRoutingModuleAppModule 수입 것 CoreModule을 만들었지 만 앱이 그것을 시작할 때 그 문제가 있어요 와일드 카드 경로를 표시, 여기에 내 코드입니다 :와일드 카드 경로는

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 {} 

내가 http://localhost/에 대한 액세스를 어떤 응용 프로그램을 표시하면이 AppComponent를 표시해야 할 때 NotFoundComponent와 와일드 카드 경로입니다

근무지 : 2.4.3, 라우터 3.4.3

답변

0

코드에 정확히 무엇이 잘못된 것인지 잘 모르겠습니다. 모든 파일없이 캔트 테스트. 어쨌든이게 효과가있을 것 같아. 사용해보기 ... (경로 일치)를 추가하고 리디렉션하려면

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에서 와일드 카드 경로를 추가하면 다른 경로에 redirectTo 싶지 않아서, 응용 프로그램의 진입 점이' '''입니다.하지만 다른 모듈에서 생성하면 제대로 작동하지 않습니다. –

0

첫 번째 경로는 루트 수준에서 순서대로 일치합니다.

경우에 따라 **가 ''앞에 오므로 ** 경로가 렌더링됩니다.