我们正在使用带有Angular框架的Ionic 4开发应用程序。
登录到应用程序时出现问题。
您可以在图片上看到错误:
我的代码在这里:
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: '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: '',
redirectTo: '/tabs/tab2',
pathMatch: 'full'
}
]
},
{
path: '',
redirectTo: '/tabs/tabs/tab2',
pathMatch: 'full'
}
];
@NgModule({
imports: [
RouterModule.forChild(routes)
],
exports: [RouterModule]
})
export class TabsPageRoutingModule {}
我不相信魔术,但是当我删除loadchildren示例中的一个点时:
../tab3/tab3.module#Tab3PageModule-> ./tab3/tab3.module#Tab3PageModule
我在所有loadchildred上执行此操作,正在保存我尝试登录的页面,同样的问题
在我说出这样的点之后
./tab3/tab3.module#Tab3PageModule-> ../tab3/tab3.module#Tab3PageModule
我正在保存,我尝试再次登录,并且工作正常。由于这个问题,我们无法在ios上进行编译。
最佳答案
我认为您必须解决选项卡的相对路径。使用Augury chrome检查并解决您的路由。同时尝试简化您的路由。
{
path: 'tab2',
loadChildren: () => import('./tab2/tab2.module').then(m => m.Tab2PageModule)
},