我正在寻求有关配置 ion-tabs
的帮助,以便选项卡位于根级别,而不需要子文件夹。因此,我想要的是 /tab1
,而不是 /tabs/tab1
。
我正在关注 Ionic Academy 的组合以及 Ionic 的文档和 Angular Router .
我使用的是运行 ionic start myApp tabs
时获得的默认设置。
最有可能的是更新tabs.router.module.ts
,但不确定是否/如何可能。这是那里的代码。
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { TabsPage } from './tabs.page';
const routes: Routes = [
{
path: 'tabs',
component: TabsPage,
children: [
{
path: 'check-in',
children: [
{
path: '',
loadChildren: '../pages/check-in/check-in.module#CheckInPageModule'
}
]
},
{
path: 'house-manual',
children: [
{
path: '',
loadChildren: '../pages/house-manual/house-manual.module#HouseManualPageModule'
}
]
},
{
path: 'local-area',
children: [
{
path: '',
loadChildren: '../pages/local-area/local-area.module#LocalAreaPageModule'
}
]
},
{
path: '',
redirectTo: '/tabs/check-in',
pathMatch: 'full'
}
]
},
{
path: '',
redirectTo: '/tabs/check-in',
pathMatch: 'full'
}
];
@NgModule({
imports: [
RouterModule.forChild(routes)
],
exports: [RouterModule]
})
export class TabsPageRoutingModule {}
我最近的尝试是在 app-routing.module 中进行此操作,但是当我将 path: 'tabs'
更改为 path: ''
时,它会因 ERROR 而中断错误:控制台中出现“[object Object]”
。
import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
import {TabsPage} from './tabs/tabs.page';
const routes: Routes = [
{
path: '',
component: TabsPage,
children: [
{
path: 'check-in',
children: [
{
path: '',
loadChildren: './pages/check-in/check-in.module#CheckInPageModule'
}
]
},
{
path: 'house-manual',
children: [
{
path: '',
loadChildren: './pages/house-manual/house-manual.module#HouseManualPageModule'
}
]
},
{
path: 'local-area',
children: [
{
path: '',
loadChildren: './pages/local-area/local-area.module#LocalAreaPageModule'
}
]
},
{
path: '',
redirectTo: '/check-in',
pathMatch: 'full'
}
]
},
{
path: '',
redirectTo: '/check-in',
pathMatch: 'full'
}
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
exports: [RouterModule]
})
export class AppRoutingModule {}
最佳答案
实现此目的的简单方法是,只需在页面 tabs.page.html 上的选项卡按钮中添加以下属性
routerLink="/tab1" routerDirection="root"
示例
<ion-tabs>
<ion-tab-bar slot="bottom">
<ion-tab-button routerLink="/tab1" routerDirection="root" tab="tab1">
<ion-icon name="flash"></ion-icon>
<ion-label>Tab One</ion-label>
</ion-tab-button>
<ion-tab-button routerLink="/tab2" routerDirection="root" tab="tab2">
<ion-icon name="apps"></ion-icon>
<ion-label>Tab Two</ion-label>
</ion-tab-button>
<ion-tab-button routerLink="/tab3" routerDirection="root" tab="tab3">
<ion-icon name="send"></ion-icon>
<ion-label>Tab Three</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
关于angular - 在根级别配置 ion-tabs 的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54836090/