【发布时间】:2020-04-21 18:59:52
【问题描述】:
我的项目中有大约 15 个页面,我想要一个包含 2 个选项卡的页面。为了实现这一点,我在app 内创建了一个名为tabs 的文件夹。
此tab 文件夹有 3 页 - 1. 项目视图 2. projecttasks 3. projectconversations
按照文档中的指导,我在项目视图中添加了2 和3,但出现错误:
未捕获(承诺中):错误:无法匹配任何路由。 URL 段:'projectview/tab1'
错误:无法匹配任何路由。 URL 段:'projectview/tab1'
下面是projectview-routing.module.ts代码
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ProjectviewPage } from './projectview.page';
const routes: Routes = [
{
path:'projectview',
component: ProjectviewPage,
children:[
{path: 'tab1',
//loadChildren:'./../projecttasks/projecttasks.module#ProjecttasksPageModule'
loadChildren: () => import('../projecttasks/projecttasks.module').then( m => m.ProjecttasksPageModule)
},
{path: 'tab2',
//loadChildren:'./../projectconversations/projectconversations.module#ProjectconversationsPageModule'
loadChildren: () => import('../projectconversations/projectconversations.module').then( m => m.ProjectconversationsPageModule)
},
{
path: '',
redirectTo: '/projectview/tab1',
pathMatch: 'full'
}
]
},
{
path:'',
redirectTo:'/projectview/tab1',
pathMatch: 'full'
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class ProjectviewPageRoutingModule {}
projectview.page.html
<ion-tabs>
<ion-tab-bar slot="bottom">
<ion-tab-button tab="tab1">
<ion-icon name="flash"></ion-icon>
<ion-label>Tab One</ion-label>
</ion-tab-button>
<ion-tab-button tab="tab2">
<ion-icon name="apps"></ion-icon>
<ion-label>Tab Two</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
我也评论了app-routing.module.ts标签页的路由
// {
// path: 'projecttasks',
// loadChildren: () => import('./tabs/projecttasks/projecttasks.module').then( m => m.ProjecttasksPageModule)
// },
// {
// path: 'projectconversations',
// loadChildren: () => import('./tabs/projectconversations/projectconversations.module').then( m => m.ProjectconversationsPageModule)
// }
我错过了什么?
编辑 1
我什至尝试在 pageview.module.ts 中像这样调用路径,但这并不奏效
{path: 'tab1',
//loadChildren:'./../projecttasks/projecttasks.module#ProjecttasksPageModule'
loadChildren: () => import('../projecttasks/projecttasks.module').then( m => m.ProjecttasksPageModule)
},
{path: 'tab2',
//loadChildren:'./../projectconversations/projectconversations.module#ProjectconversationsPageModule'
loadChildren: () => import('../projectconversations/projectconversations.module').then( m => m.ProjectconversationsPageModule)
},
【问题讨论】:
-
移除路径:'',redirectTo:'projectview/tab1',
-
只需删除斜线并像上面一样尝试
-
嘿嘿嘿成功了,你是怎么想到的??您可以将此作为答案,我会接受它
-
我发现你所有的配置都是正确的,并意识到你在设置路径时错了。
标签: angular typescript ionic-framework ionic4