2016-12-06 144 views
2

我有一个组件'A',它被添加到模块M1和导出这是懒惰地加载, 现在我有另一个模块M2有组件'B “这是使用A(选择)角度2:如何导出延迟加载模块的组件

所以当M1是懒加载我得到错误的

组分A是不是任何NgModule

+0

是的,这就是你会得到。如果您需要共享通用功能,则应为其创建服务并将该服务添加到主模块,所有延迟加载的模块都可以使用它。 –

回答

1

你应该做的是创造另一个模块的一部分,您可以拨打SharedModule。从SharedModule导出组件A。然后导入SharedModule到两个M1M2

+0

是的,但所有共享都将被加载,即不是懒惰。有其他选择吗? – sudhir

+0

我不相信。但我认为你试图达到的是不同的。你想在M2中使用组件A,我相信它不是延迟加载的。所以你需要组件A,即没有延迟加载。这是构建SharedModule的目的。 –

+0

其实M2也是lazilty加载。 – sudhir

0

添加成分“A”在M2模块的声明

@NgModule({ 
    imports:  [ 
    SharedModule 
    ], 
    declarations: [ componentB, componentA ], 
    exports: [ componentB ] 
}) 
export class moduleM2 { } 
+0

Thanks.You不能声明一个组件在两个不同的模块 – sudhir

+0

这是在共享模块 – anshuVersatile