Угловая 7 ошибка маршрутизации base-href добавляется к пути - PullRequest
0 голосов
/ 01 декабря 2018

Я использую ионный компонент ion-tabs и ion-tab-button с href="/tabs/path*" для навигации по моему приложению.

Сценарий для воспроизведения:

  1. Нажмите первый раз, чтобыpath2 (OK)
  2. Нажмите path1 (OK)
  3. Нажмите, чтобы path2 (NOK) base-href был добавлен как /fr/tab/path2

    <ion-tab tab="path1">
        <ion-router-outlet name="path1"></ion-router-outlet>
    </ion-tab>
    <ion-tab tab="path2">
        <ion-router-outlet name="path2"></ion-router-outlet>
    </ion-tab>
    
    <ion-tab-bar slot="bottom">
        <ion-tab-button tab="path1" href="/tabs/(path1:path1)">
            <ion-icon name="list-box"></ion-icon>
            <ion-label i18n>path1</ion-label>
        </ion-tab-button>
    
        <ion-tab-button tab="path2" href="/tabs/(path2:path2)">
            <ion-icon name="albums"></ion-icon>
            <ion-label i18n>path2</ion-label>
        </ion-tab-button>
    </ion-tab-bar>
    

Модуль маршрутизации Вкладки:

{
    path: 'tabs',
    component: TabsPage,
    children: [
        {
            path: '',
            redirectTo: '/tabs/(path1:path1)',
            pathMatch: 'full'
        },
        {
            path: 'path1',
            outlet: 'path1',
            loadChildren: '../path1/path1.module#pathModule1'
        },
        {
            path: 'path2',
            outlet: 'path2',
            loadChildren: '../path2/path2.module#pathModule2',
        }
    ]
},
{
    path: '',
    redirectTo: '/tabs/(path1:path1)'
}

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 01 декабря 2018

Мне удалось заставить его работать с директивой routerLink

<ion-tab-button tab="path1" 
                [routerLink]="['/tabs/', { outlets: { 'path1': ['path1'] } }]"
                routerLinkActive="active"
                [routerLinkActiveOptions]="{ exact: true }"
>

Angular doc [routerLink] директива

Однако, URL действительно уродлив, когда я перемещаюсьбросить приложение как:

localhost:4200/fr/path1(path1:path1//path2:path2//path3:path3)

Если у вас есть более чистое решение, не стесняйтесь!поделиться им:)

РЕДАКТИРОВАТЬ :

Кажется, что это зафиксировано в ионном 4.0.0-beta.17!

...