延迟加载模块中的角度延迟加载模块

时间:2017-12-08 07:43:09

标签: angular module lazy-loading

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

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

1 个答案:

答案 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
    ]
})