我正在使用 Ionic 4 和 Angular 8 我在我的应用程序底部有以下选项卡,并且希望通过单击选项卡从论坛和消息导航到与选项卡关联的不同组件。但问题是页面不会在单击选项卡时呈现,但如果我刷新页面,则导航工作正常。我不知道我在这里错过了什么。
标签 HTML
<ion-tabs>
<ion-tab-bar slot="bottom">
<ion-tab-button selected tab="food" (pointerup)="changeItems('food')">
<ion-icon name="pizza"></ion-icon>
<ion-label>Food</ion-label>
</ion-tab-button>
<ion-tab-button tab="non-food" (pointerup)="changeItems('non-food')">
<ion-icon name="basket"></ion-icon>
<ion-label>Non-Food</ion-label>
</ion-tab-button>
<ion-tab-button class="add-circle" tab="createListing" (pointerup)="routeTo('createListing')">
<ion-icon name="add-circle"></ion-icon>
</ion-tab-button>
<ion-tab-button tab="forum" (pointerup)="routeTo('forum')">
<ion-icon name="folder"></ion-icon>
<ion-label>Forum</ion-label>
</ion-tab-button>
<ion-tab-button tab="messages" (pointerup)="routeTo('messages')">
<ion-icon name="chatboxes"></ion-icon>
<ion-label>Messages</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
TS 文件中的 routesTo('messages') 和 routesTo('forum')。
routeTo(route: string){
this.navCtrl.navigateForward(`sharing/${route}`);
}
我在 LandingPageModule 中有一个登录页面,我从该页面直接路由到“共享/主页”,这是“共享”的子路由
有关更多信息,我将基本路由模块设置为:
const routes: Routes = [
{ path: '', redirectTo: 'landing', pathMatch: 'full' },
{ path: 'landing', loadChildren: () => import('./landing/landing.module').then(mod=> mod.LandingPageModule) },
{ path: 'sharing', loadChildren: () => import('./sharing/sharing.module').then(mod=> mod.SharingModule) }
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
exports: [RouterModule]
})
export class AppRoutingModule { }
分享模块的路线如下:
RouterModule.forChild([
{
path: '',
component: ShareLayoutComponent,
children:[{
path: 'home',
component: HomeComponent
},
{
path: 'forum',
component: ForumComponent
},
{
path: 'messages',
component: MessageComponent
}]
}])