Разрешить не вызывать дочерние маршруты в angular 2

сведения о маршрутизаторе:

это сведения о маршруте функционального модуля, загруженного отложенно. маршрут /клиенты

const routes: Routes = [
{ path: '',
component: CustomersComponent,
children: [
  { path: '',    component: CustomersListComponent },
   { path: ':id',    component: CustomersDetailsComponent,
   resolve: {
      xxx: CustomerResolve1
    }
    ,children: [
     { path: ':module',    component: CustomersModuleDetailsComponent,
    resolve: {
      xxx: CustomerResolve2
    }
   }
   ] }
 ]
}

];

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

если я введу следующий URL:

http://localhost:4200/customers/45/invoices

2 резольвера выполняются.

если я нажму кнопку, которая выполняет следующее в моем ts:

this.router.navigate(['customers','100','invoices']);

выполняется только первый преобразователь!

поскольку мой самый внутренний компонент «CustomersModuleDetailsComponent» показывает информацию на основе URL-адреса, он не обновляется, поскольку преобразователь для этого компонента не выполняется.

какие-либо предложения ? (помимо смены распознавателя на охранник) (и помимо передачи идентификатора от отцовского компонента дочернему компоненту через @input или eventEmitter)

Спасибо


person May    schedule 05.01.2017    source источник
comment
вы должны использовать абсолютные пути   -  person Roman C    schedule 06.01.2017
comment
@RomanC, можешь объяснить, пожалуйста?   -  person May    schedule 06.01.2017
comment
Чувак, ты должен добавить это в конфигурацию своего роутера :)   -  person Roman C    schedule 06.01.2017
comment
@RomanC, как это можно сделать с помощью модулей отложенной загрузки? маршрут, описанный выше, относится к функциональному модулю. путь /customers определен в app.module.routing.ts   -  person May    schedule 06.01.2017


Ответы (1)


У меня такая же проблема. Кажется, в Angular Router есть ошибка.

В этом случае дочерние распознаватели не запускаются при изменении родительского параметра маршрута.

person rhessus    schedule 14.01.2017
comment
это действительно проблема маршрутизатора, и она была исправлена ​​в версии 4.0 beta 3. - person May; 21.01.2017
comment
эффективно: маршрутизатор: вызывать преобразователь при изменении параметров восходящего потока (#12942) (d4d3782) - person rhessus; 06.02.2017