Обновление до angular 2 RC7 проблема с маршрутами

#angular

#angular

Вопрос:

Я пытаюсь обновить наше приложение до angular 2 RC7 с помощью маршрутизатора 3.0.0.rc-3 с RC5. Но я получаю следующие ошибки в дочерних файлах маршрутов.

 ERROR in [default]       C:/src/app/routes/childroute1/child-routes-one.routes.ts:31:8
Type '{ path: string; component: typeof childRouteOne; data: {    displayName: string; }; childre...' is not assignable to type 'Route[]'.
Type '{ path: string; component: typeof childRouteOne; data: { displayName: string; }; childre...' is not assignable to type 'Route'.
Types of property 'children' are incompatible.
  Type '({ path: string; redirectTo: string; terminal: boolean; } | { path: string; component: typeof fea...' is not assignable to type 'Route[]'.
    Type '{ path: string; redirectTo: string; terminal: boolean; } | { path: string; component: typeof feas...' is not assignable to type 'Route'.
      Type '{ path: string; redirectTo: string; terminal: boolean; }' is not assignable to type 'Route'.
        Object literal may only specify known properties, and 'terminal' does not exist in type 'Route'.
  

Должен ли я что-либо изменять (добавлять или удалять) в дочерних маршрутах? Или проблема с какой-либо из зависимостей?

Когда я попытался с @angular/router : 3.0.0.rc-2 помощью and rxjs: 5.0.0-beta.6 , я не получил сообщение об ошибке.

дочерние маршруты-one.routes.ts

 import {Routes, ActivatedRoute} from '@angular/router';
export const settingsRoute: Routes = [
{
path: 'ev/route-one/:Id/:usrId',
component: childRouteOne,
data: { displayName: 'Settings' },
children: [
  {
    path: '',
    redirectTo: 'home',
    terminal: true
  },
  { path: 'home', component: feature-home, data: { displayName: 'Home' } },
  { path: 'notes/notes-settings/:Id', component: notesSettings, data: { displayName: 'Notifications' } }

   ]
  }
];
  

@NgModule импортирует:

 imports: [ BrowserModule, RouterModule, CommonModule, FormsModule, ReactiveFormsModule, HttpModule, routing, RouterModule.forChild(settingsRoute) ],
  

Комментарии:

1. показать код маршрутизации.

2. Пожалуйста, опубликуйте больше кода. @NgModule() , маршруты, …

3. Angular 2 Final был выпущен почти месяц назад. Я бы настоятельно рекомендовал обновить. Руководство по маршрутизатору: angular.io/docs/ts/latest/guide/router.html

4. Добавлен код маршрутизации и NgModule в исходном вопросе

5. terminal это больше не допустимый вариант, попробуйте удалить его и посмотреть, будет ли он построен

Ответ №1:

terminal Свойство больше не поддерживается в новых маршрутизаторах. Уберите это, и все должно быть построено.

Ответ №2:

Удалите свойство терминала и попробуйте реализовать то, что показано здесь,

 children: [
  {
    path: '',
    redirectTo: 'home',
    pathMatch: 'full'
  },
  ...
]