[英]Angular lazy loading routing with loadchildren
I have an ionic app that has tabs and a login page.我有一个具有标签和登录页面的离子应用程序。 The tabs component is its own module and has a routing module for each tab and each tab is its own module.
选项卡组件是它自己的模块,每个选项卡都有一个路由模块,每个选项卡都是它自己的模块。 When the app loads I want to direct to the login page, then upon logging in redirect to one of the tabs tabs(menu/home) off the tabs component.
当应用程序加载时,我想定向到登录页面,然后在登录时重定向到选项卡组件之一的选项卡选项卡(菜单/主页)。
const routes: Routes = [
{
path: '',
loadChildren: () => import('./tabs/tabs.module').then(m =>
m.TabsPageModule)
},
{
path: 'login',
component: LoginComponent
},
{
path: "",
component: LoginComponent
},
{
path: '',
redirectTo: '',
pathMatch: 'full'
}
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
exports: [RouterModule]
})
export class AppRoutingModule {}
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { TabsPage } from './tabs.page';
const routes: Routes = [
{
path: 'menu',
component: TabsPage,
children: [
{
path: 'home',
loadChildren: () => import('./home/home.module').then(m => m.HomePageModule)
},
{
path: 'library',
loadChildren: () => import('./library/library.module').then(m => m.LibraryPageModule)
},
{
path: 'search',
loadChildren: () => import('./search/search.module').then(m => m.SearchPageModule)
},
{
path: 'profile',
loadChildren: () => import('./profile/profile.module').then(m => m.ProfileModule)
},
{
path: '',
redirectTo: 'menu/home',
pathMatch: 'full'
}
]
},
{
path: '',
redirectTo: '/menu/home',
pathMatch: 'full'
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class TabsPageRoutingModule {}
Change your tabs routing to:-将您的标签路由更改为:-
const routes: Routes = [
{
path: 'menu',
children: [
{
path: '',
component: TabsPage
},
{
path: 'home',
loadChildren: () => import('./home/home.module').then(m => m.HomePageModule)
},
{
path: 'library',
loadChildren: () => import('./library/library.module').then(m => m.LibraryPageModule)
},
{
path: 'search',
loadChildren: () => import('./search/search.module').then(m => m.SearchPageModule)
},
{
path: 'profile',
loadChildren: () => import('./profile/profile.module').then(m => m.ProfileModule)
},
{
path: '',
redirectTo: 'menu/home',
pathMatch: 'full'
}
]
},
{
path: '',
redirectTo: '/menu/home',
pathMatch: 'full'
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class TabsPageRoutingModule {}
OR或者
Put a router-outlet in TabsPage在 TabsPage 中放置一个路由器插座
To understand the reason read:- https://link.medium.com/U5u4d4ub66要了解原因,请阅读:- https://link.medium.com/U5u4d4ub66
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.