Ionic-angular - Маршрутизация не работает должным образом, когда у меня есть несколько вложенных маршрутов - PullRequest
0 голосов
/ 03 октября 2019

У меня есть две страницы: товары и пользователи. Внутри страницы Предметов у меня есть дочерние маршруты, добавление / редактирование / удаление. Внутри страницы пользователей у меня есть несколько дочерних маршрутов, добавить / удалить. Таким образом, структура маршрутизации выглядит примерно так:

app-routing.module.ts

 {
    path: "users",
    loadChildren: "./users/users.module#UsersPageModule",

  },
  {
    path: "items",
    loadChildren: "./items/items.module#ItemsPageModule"
  }

users.module.ts

{
    path: "",
    component: UsersPage,
    children: [
      {
        path: "add",
        component: EditUserComponent
      },
      {
        path: "",
        component: UserListComponent,
        pathMatch: "full"
      }
    ]
  }

items.module.ts

{
    path: "",
    component: ItemsPage,
    children: [
      {
        path: "additem",
        component: ItemDetailsComponent
      },
      {
        path: "",
        component: ItemListComponent,
        pathMatch: "full"
      }
    ]
  }

Проблема: после загрузки приложения, если я переключаюсь между путями на одной и той же странице, все работает нормально, но как только я захожу на другую страницу и снова возвращаюсь на предыдущую страницу и пытаюсь перейти на неене работает.

Например. Сначала я захожу в / items, затем / items / снова добавляю / items /. Здесь все работает. Проблема начинается, когда я захожу в / users и снова возвращаюсь в / items. Таким образом, в этот момент страница элемента загружается нормально, которая привязана к / items. Но если я попробую переместиться / items / add. Похоже, ничего не происходит в пользовательском интерфейсе.

Я включил трассировку для маршрутов и обнаружил, что она показывает Router Event: NavigationEnd, есть какие-либо подсказки, почему это происходит?

Вот примерная ссылка на проект github: https://github.com/Dhananjay-J-P/ionic-routing-issue.git.

1 Ответ

0 голосов
/ 03 октября 2019

Можете ли вы показать нам, как вы пишете навигационные ссылки в своем HTML-файле?

Это может быть так.

<a [routerLink]="['users']">users</a>
<a [routerLink]="['items']">items</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...