angular - 如何为多层应用程序实现延迟加载
问题描述
我有一个 3 层应用程序,但我遇到了架构问题。以下是示例网址:
/ (base url)
dummy-configuration/
dummy-configuration/dummyModel
dummy-configuration/dummyModel/dummyData
所以我有一个虚拟配置模块、一个dummyModel模块和一个dummyData组件。但是,我只将路由器出口指令放在应用程序组件 html和虚拟配置html 中。这是我第一次出错的地方,我相信。我不需要每个级别的路由器插座吗?
我的app-routing.module文件延迟加载我的虚拟配置模块:
{
path: 'dummy-configuration',
loadChildren: () =>
import('./dummy-configuration/dummy-configuration.module').then(
(p) => p.DummyConfigurationModule
),
}
然后,虚拟配置路由模块延迟加载其子模块:
children: [
{
path: {PATH},
loadChildren: () =>
import('../dummyModel/dummy-model.module').then((m) => m.DummyModule),
}
]
Dummy 模块将加载其子模块:
children: [
{
path: 'childOne',
component: childOneComponent,
},
{
path: 'childTwo',
component: childTwoComponent,
}
]
我所取得的是延迟加载虚拟配置和“虚拟模型”模块。但我想要的也是延迟加载虚拟模型的组件路由,我不知道该怎么做。我怎样才能正确地重新架构这个?老实说,我有点失落。
解决方案
如果您使用该children
属性,您确实需要一个可以渲染孩子的路由器插座。但是,在您的情况下,您可以添加第一个模块,就像您通过在plan-configuration
路径中加载它显示的那样。
您可以在plan-configuration/fsa
路径上加载的第二个模块,然后它将正确处理profile
和dependents
路由,而不需要另一个路由器出口,而是在主出口中呈现。
简而言之,只需将ra-fsa
模块导入app-routing
withplan-configuration/fsa
作为您的路径。
推荐阅读
- javascript - 设置值后如何从 Kendo UI MultiColumnComboBox 中获取选定的数据项?
- asp.net-core - 监控 SignalR Core 消息大小
- tensorflow - 如何使用 Keras 创建 BERT 层?
- python - 使用 bool() 结果构建列表
- r - 使用 ggplot 和 geom_sf 在地图上发布更改点(填充和形状)
- windows - 设置复杂的 git 子模块依赖项
- bash - 在 MacOS Catalina 上使用 mdfind 定位函数
- python - 3D球坐标系中的随机游走-Python
- python - 如何使用 ctypes 动态分配数组并为共享库中定义的指针分配地址?
- nlp - 自然语言命令