我们正在使用带有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)
},

10-06 03:53