2017-01-31 2 views
-1

Каждый раз, когда я нажимаю на ссылку и загружается новый компонент, вызывается следующая ошибка.Angular 2 router navigates undefined

enter image description here

Линия эта зона показывает, как реагирующих-height.component.ts: 111 неправильно, нет никаких HTTP-соединений там.

В предыдущих версиях углового это происходит только со встроенными файлами, а не в среде разработки, но до 2.2, это происходит и в режиме dev.

Я не знаю, связана ли проблема с угловым2-роутером или угловым кли.

В настоящее время я использую угловой 2.3.1 с [email protected]

Любая идея?

UPDATE: Мои маршруты там, я удаляю несколько в середине, которые являются одинаковыми, и изменить некоторые доменные имена, Foo бар.

const routes: Routes = [ 
    { 
    path: '', 
    component: Component1, 
    pathMatch: 'full' 
    }, 
    { 
    path: 'foo/bar', 
    component: Component2 
    }, 
    { 
    path: 'user/profile', 
    component: ProfileComponent 
    }, 
    { 
    path: '404', 
    component: NotFoundComponent 
    }, 
    { 
    path: '**', 
    redirectTo: '404', 
    pathMatch: 'full' 
    } 
]; 

@NgModule({ 
    imports: [RouterModule.forRoot(routes)], 
    exports: [RouterModule], 
    providers: [] 
}) 
export class RoutingModule { 
} 

UPDATE 2: aplicación работает должным образом, не странное поведение. Но эта ошибка возникает, и я хочу ее исправить.

UPDATE 3:

app.module:

@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    imports: [ 
    BrowserModule, 
    ErrorModule, 
    HeaderModule, 
    HttpModule, 
    SharedModule, 
    RoutingModule, 
    UserModule 
    ], 
    providers: [ 
    { 
     provide: LOCALE_ID, 
     useValue: window.navigator.userLanguage || window.navigator.language 
    }, 
    {provide: RequestOptions, useClass: DefaultRequestOptions}, 
    {provide: ConnectionBackend, useClass: XHRBackend}, 
    {provide: Http, useExisting: HttpInterceptor}, 
    ], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { 
} 
+0

@MKK 'ROUTER_PROVIDERS' ушли 6 месяцев назад ;-) –

+0

RouterModule than @ GünterZöchbauer – MMK

+0

Пожалуйста, покажите код. –

ответ

0

порожних маршрутов по пути без children или redirect, вам нужно pathMatch: 'full':

{ 
    path: '', 
    component: Component1, 
    pathMatch: 'full' 
    }, 

иначе маршрутизатор продолжает искать для детских маршрутов.

+0

Хорошо, но не решает проблему. Я изменился сверху, правильно? – Serginho

-1

Отсутствующих объявления для компонентов или неправильного пути импорта

declarations: [ 
    AppComponent, 
    Component1, 
    Component2 
    ...  
    ] 

Проверьте пути. Обеспечить plunker with your code

app.routes.ts:

const routes: Routes = [ 
    { 
    path: '', 
    component: HeaderComponent 
    }, 
    { 
    path: 'shared', 
    component: SharedComponent 
    }, 
    { 
    path: '**', 
    redirectTo: '404' 
    } 
]; 
@NgModule({ 
    imports: [RouterModule.forRoot(routes)], 
    exports: [RouterModule], 
    providers: [] 
}) 
export class RoutingModule { 
} 

shared.module.ts похож на header.module.ts

@NgModule({ 
    imports: [ 
    CommonModule  
    ], 
    declarations: [SharedComponent] 
}) 
export class SharedModule { } 

Маршруты без ошибок.

+0

Все компоненты объявлены в импортированных модулях. И нет ленивых маршрутов. Так что это не проблема – Serginho

+0

Все компоненты объявлены, где мы можем это увидеть? Предоставьте рабочий плункер или пастебин и т. Д. Проверьте пути для деклараций компонентов. –