所以我有一个ionic 4应用程序。注意到的是,它首先打开了我的设置页面。在它刚刚打开/ tabs / tab1页面之前,我尝试做以下操作:在app.component.ts中使用this.router.navigateByUrl('/tabs/tab1');
,但它将首先加载SettingsPage,然后再加载tabs / tab1页面。
对于appfolder,请转到此link
答案 0 :(得分:0)
首先,我无法运行您的项目,因为该链接仅包含app文件夹,而不包含整个项目。
我试图检查您的路线,这是我发现的一些错误:
这是您的app-routing.module.ts
const routes: Routes = [
{
path: '',
loadChildren: './tabs/tabs.module#TabsPageModule'
}
];
在上面的代码片段中,我删除了当您尝试通过CLI生成模块/页面时可能添加的额外路由。由于我们使用标签设计,因此所有主要路由都将由标签模块的路由模块控制。
这是tabs.router.module.ts文件
const routes: Routes = [
{
path: 'tabs',
component: TabsPage,
children: [
{
path: 'tab1',
children: [
{
path: '',
loadChildren: '../tab1/tab1.module#Tab1PageModule'
}
]
},
{
path: 'tab2',
children: [
{
path: '',
loadChildren: '../tab2/tab2.module#Tab2PageModule'
}
]
},
{
path: 'tab3',
children: [
{
path: '',
loadChildren: '../tab3/tab3.module#Tab3PageModule'
}
]
},
{
path: 'settings',
children: [
{
path: '',
loadChildren: '../settings/settings.module#SettingsPageModule'
}
]
},
{
path: '',
redirectTo: '/tabs/tab1',
pathMatch: 'full'
}
]
},
{
path: '',
redirectTo: '/tabs/tab1',
pathMatch: 'full'
}
];
如果您在上述代码中注意到,在设置路由之后的路由数组中,我添加了默认路由,这意味着如果仅在浏览器中输入/ tabs,它将带您进入/ tabs / tab1路由。