Ionic 4随机页面加载

时间:2019-02-10 19:04:23

标签: ionic-framework root ionic4

所以我有一个ionic 4应用程序。注意到的是,它首先打开了我的设置页面。在它刚刚打开/ tabs / tab1页面之前,我尝试做以下操作:在app.component.ts中使用this.router.navigateByUrl('/tabs/tab1');,但它将首先加载SettingsPage,然后再加载tabs / tab1页面。

对于appfolder,请转到此link

1 个答案:

答案 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路由。