Я использую 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>
routTo ('messages') и routTo ('forum') в файле TS.
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
}]
}])