我仍然习惯于 Angular 以及如何正确构建不同的组件和模块。我想根据最佳实践设置我的应用程序并最大限度地提高效率。我目前有多个模块。我有一个要导航到的“基本”模块,但根据 URL,我想合并来自其他模块的组件。这是我的 app-routing.module 当前设置的方式:
const routes: Routes = [
{ path: '', component: BaseComponent },
{ path: 'featureone', loadChildren: () => import('./feature-one/feature-one.module').then(m => m.FeatureOneModule) },
{ path: 'featuretwo', loadChildren: () => import('./feature-two/feature-two.module').then(m => m.FeatureTwoModule) },
{ path: '**', redirectTo: '', pathMatch: 'full'}
];
我了解此路由设置不正确,但我不确定如何以最有效的方式正确设置它。
目前,如果我导航到''
,它将按预期加载 BaseComponent 。如果我添加
<app-feature-one></app-feature-one>
或
添加<app-feature-two></app-feature-two>
到 BaseComponent 模板,它会抛出一个错误,如“初始化之前无法访问 'FeatureOneModule'”
是否有某种方法可以保留诸如“featureone”和“featuretwo”之类的路由,它将导航到BaseComponent,并且我可以添加逻辑以显示<app-feature-one></app-feature-one>
或
<app-feature-two></app-feature-two>
仅在导航到“featureone”或FeatureTwoModule时加载FeatureOneModule 'featuretwo'?