При использовании вложенных дочерних маршрутов в ionic4 маршруты перестают работать после одного основного изменения навигации - PullRequest
0 голосов
/ 03 мая 2019

Я хотел бы использовать вложенную маршрутизацию для сложных страниц внутри ионного приложения. Я оставляю основной ион-роутер в такте и могу без проблем перемещаться между страницами верхнего уровня. Внутри этих страниц верхнего уровня, глубоко внутри контента, я хотел бы использовать дочерние маршруты для показа контента, и должна работать глубокая связь, поэтому угловой маршрутизатор идеально подходит для этого, используя router-outlet. Однако после перехода через приложение на другую страницу верхнего уровня и возврата к ранее отображенной странице верхнего уровня маршрутизация для этой страницы полностью перестает работать. URL обновляется, хотя.

Я уже пытался использовать ion-tabs, удалять лениво загруженные модули и включил все отчеты об ошибках и трассировку маршрутов. Об ошибках не сообщается, маршруты вроде бы активируются, но маршрутизация просто не работает.

Я пытался использовать ion-tabs и вложенные ion-router-розетки, ни одна из которых не работает.

См. https://github.com/johanvdb/ionic-4-router-issue

Ожидаемый результат - рендеринг вложенных компонентов в соответствующих выходах маршрутизатора без проблем.

1 Ответ

0 голосов

У вас должно быть несколько app.routing.module.ts, родительский модуль маршрутизации и столько дочерних элементов, сколько вы хотите; В родительском модуле маршрутизации вы должны обращаться к дочерним элементам следующим образом:

app.routing.module.ts

const routes: Routes = [
  { path: '', redirectTo: 'login', pathMatch: 'full' },
  { path: 'login', loadChildren: './auth/login/login.module#LoginPageModule' },
  { path: 'register', loadChildren: './auth/register/register.module#RegisterPageModule' },
  {
    path: 'members',
    loadChildren: './members/member-routing.module#MemberRoutingModule'
  }
];

В этом примере member.routing.module.ts является дочерним модулем маршрутизации, а app.routing.module.ts является основным (родительским).

В member.routing.module.ts вы должны определить руты / members / {somepage}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...