gpt4 book ai didi

延迟加载模块中的 Angular 延迟加载模块

转载 作者:太空狗 更新时间:2023-10-29 19:33:45 25 4
gpt4 key购买 nike

我可以在延迟加载模块中延迟加载模块吗?
我有这样的“出版物”路由模块,但它加载了太多用于编辑此出版物的功能,而用户可能对此没有权限。所以我尝试以某种方式优化它,因为我有类似的组件,根据权限进行“编辑/添加”。
如果您有以某种方式通过权限进行优化的建议,我们将很高兴。

已更新是的你可以。只需在延迟加载模块中导入其他模块用于路由

最佳答案

FpgTimeComponent 不是将要加载的惰性模块文件的一部分,因此您不能那样做。想一想,您正试图在惰性模块中导入一个组件,该模块对此一无所知,因为它没有在该模块中定义,也没有在您在 LazyModule 中导入的任何其他模块中定义。那么它将从哪里获取组件呢?

FpgTimeComponent 添加到 SharedModule 并将 SharedModule 导入到您的 LazyModule 中,或者移动 FpgTimeComponent 到您的 LazyModule。一旦您执行了其中一项操作,它就应该会起作用。

无论如何,这是一种更好的方法,因为我可以保证,随着您继续开发,您将不​​断遇到与其他组件/其他惰性模块相同的错误。如果您在多个地方使用这些组件,那么它们应该以 Angular best practices defines 的形式存在于 SharedModule 中。 ,并且 SharedModule 应该被导入到所有惰性模块中。

这是一个例子。

共享模块:

import { FpgTimeComponent } from './some/path';

@NgModule({
declarations: [
FpgTimeComponent
],
exports: [
FpgTimeComponent
]
})

惰性模块:

import { SharedModule } from '../shared/shared.module';

import { LazyComponent } from './lazy.component';
import { routing } from './lazy.routing';

@NgModule({
imports: [
routing,
SharedModule
],
declarations: [
LazyComponent
]
})

关于延迟加载模块中的 Angular 延迟加载模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47709835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com