我可以在延迟加载的模块中延迟加载模块吗? 我有这样的模块用于出版物'路由,但它加载了太多功能来编辑此出版物,而用户可能没有权限。所以我尝试以某种方式优化它,因为我有类似的组件'编辑/添加'取决于权限 如果您有某种方式通过权限优化的建议,将很高兴。
已更新 是的你可以。只需在延迟加载的模块中导入其他模块以进行路由
答案 0 :(得分:0)
FpgTimeComponent
不是要加载的惰性模块文件的一部分,因此您不能这样做。想一想,您正在尝试将懒惰模块中的某个组件导入,而该模块对此一无所知,因为该组件未在该模块中定义,并且也未在您在{{1}中导入的任何其他模块中定义}。那么从哪里获得组件呢?
将LazyModule
添加到FpgTimeComponent
并将SharedModule
导入您的SharedModule
中,或将LazyModule
移至FpgTimeComponent
。一旦您执行了其中一项操作,便可以使用。
无论如何,这是一个更好的方法,因为我可以保证,随着您的不断发展,您将与其他组件/其他惰性模块不断遇到相同的错误。如果要在多个位置使用组件,则它们应以Angular best practices defines的形式存在于LazyModule
中,并且应该将SharedModule
导入所有懒惰模块中。
这里是一个例子。
SharedModule:
SharedModule
LazyModule:
import { FpgTimeComponent } from './some/path';
@NgModule({
declarations: [
FpgTimeComponent
],
exports: [
FpgTimeComponent
]
})