Angular 7 路由错误 base-href 被添加到路径中
Angular 7 routing error base-href gets prepended to path
我使用离子组件 ion-tabs
和 ion-tab-button
以及 href="/tabs/path*"
来浏览我的应用程序。
要重现的场景:
- 第一次点击
path2
(确定)
- 点击
path1
(确定)
点击 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)'
}
有人有想法吗?
我能够让它与 routerLink 指令一起工作
<ion-tab-button tab="path1"
[routerLink]="['/tabs/', { outlets: { 'path1': ['path1'] } }]"
routerLinkActive="active"
[routerLinkActiveOptions]="{ exact: true }"
>
Angular doc [routerLink] directive
但是,url 真的很难看,当我导航抛出应用程序时,如下所示:
localhost:4200/fr/path1(path1:path1//path2:path2//path3:path3)
如果您有更清洁的解决方案,请不要犹豫!分享:)
编辑:
好像固定在ionic 4.0.0-beta.17
!
我使用离子组件 ion-tabs
和 ion-tab-button
以及 href="/tabs/path*"
来浏览我的应用程序。
要重现的场景:
- 第一次点击
path2
(确定) - 点击
path1
(确定) 点击
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)'
}
有人有想法吗?
我能够让它与 routerLink 指令一起工作
<ion-tab-button tab="path1"
[routerLink]="['/tabs/', { outlets: { 'path1': ['path1'] } }]"
routerLinkActive="active"
[routerLinkActiveOptions]="{ exact: true }"
>
Angular doc [routerLink] directive
但是,url 真的很难看,当我导航抛出应用程序时,如下所示:
localhost:4200/fr/path1(path1:path1//path2:path2//path3:path3)
如果您有更清洁的解决方案,请不要犹豫!分享:)
编辑:
好像固定在ionic 4.0.0-beta.17
!