Разъяснения по роутеру с ионизатором 4 - PullRequest
0 голосов
/ 06 декабря 2018

Я немного озадачен тем, как там все должно работать.Я пытаюсь следовать различным учебным пособиям с несколькими розетками, но в большинстве случаев результат таков:

ОШИБКА Ошибка: Uncaught (в обещании): Ошибка: не удается сопоставить ни один маршрут.Сегмент URL: 'apath'

У меня много вопросов:

1) Как должны вести себя объявления forChild , особенно при объявлении того же компонентас разными маршрутами?-> Например, каждый раз, когда вы генерируете новую страницу с помощью CLI, создается новый page.module.ts, а также app.routing.module.ts обновляется с маршрутом вашего нового компонента в стиле LzyLoaded.Но в новом модуле также есть маршрут, подобный следующему:

const routes: Routes = [
  {
    path: '',
    component: SortPopoverPage
  }
];

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule,
    RouterModule.forChild(routes)
  ],
  declarations: [SortPopoverPage]
})
export class SortPopoverPageModule {}

По моему мнению, этот маршрут будет объединен с другими маршрутами, объявленными в app.routing.module, и никогда не будет достигнутпоскольку пустой путь уже перенаправлен на дом.Почему этот маршрут создается CLI?

2) Синтаксис вспомогательных маршрутов : я видел в официальном руководстве https://angular.io/guide/router синтаксис, подобный / path (outlet:путь) но я также видел в других уроках / путь / (выход: путь) https://www.joshmorony.com/creating-a-tabs-layout-with-angular-routing-and-ionic-4/

Какой из них лучше?

3)Почему мы даже записываем пункт назначения в объявлении маршрута, когда вы должны указать его в URL?Что произойдет, если вы попытаетесь загрузить в другую розетку путь, объявленный с другой розеткой?

{
    path: 'filter',
    outlet: 'popover',
    component: FilterPopoverPage
  }

и

 <ion-item href="/home(popover:test/filter)">test</ion-item>

4) Если быть более конкретным: я пытаюсьзагружать компонент в выделенную розетку при нажатии на ссылку:

home.html:

<ion-content>
...
<ion-item href="/home(popover:filter)">test</ion-item>
...
<ion-router-outlet name="popover"></ion-router-outlet>
</ion-content>

app.routing.module:

const routes: Routes = [
  {path: 'home', component: HomePage},
  {path: 'filter', outlet: 'popover', component: FilterPopoverPage},
  {path: '', redirectTo: 'home', pathMatch: 'full'},
];

Когда я нажимаюна кнопке теста ничего не происходит, я думаю, что страница перезагружается, но в консоли нет ошибок.Если я использую путь / home / (popover: filter), я получаю сообщение об ошибке:

Ошибка: ошибка (в обещании): ошибка: невозможно сопоставить ни один маршрут.Сегмент URL: «home»

Когда путь «home» четко определен ... не так ли?

Спасибо за вашу помощь.

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