可共享的角度分量

时间:2018-02-16 16:58:09

标签: angular

鉴于此应用程序结构:

  • 第1单元
  • 第2单元
  • 第3单元
  • 第4单元
  • 共享
    • 共享组件1
    • 共享组件2

所以我需要创建一个“共享组件”,我知道它只是在模块1和模块2之间共享,不能在其他任何地方使用。我应该将其创建为普通的共享组件吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果您不将共享模块添加到其他模块的imports数组中,那么这些组件将不会与其他模块共享。

例如:

我的ProductModule在其导入中包含SharedModule:

@NgModule({
  imports: [
    SharedModule, 
    RouterModule.forChild([...])
  ],
  declarations: [
    ProductListComponent,
    ProductDetailComponent,
    ProductEditComponent,
  ],
  providers: [
    ProductService
  ]
})
export class ProductModule { }

因此,只有产品模块的组件才能访问共享模块的组件。

任何不应使用共享模块的模块都不要将其添加到导入数组中。

答案 1 :(得分:0)

DeborahK的答案是正确的,但根据你的评论,我相信你并没有真正理解,所以这里有进一步的阐述。

要在模块1和模块2之间共享组件,您必须创建共享模块。在共享模块的exports数组中,您将导出要共享的组件。现在,在模块1和模块2的imports数组中,您将导入共享模块。这样,导出的组件将可用于模块1和模块2。

您的应用结构看起来像这样。

  • 第1单元
  • 第2单元
  • 第3单元
  • 第4单元
  • 共享(文件夹)
    • 共享模块
    • 共享组件1
    • 共享组件2

shared.module.ts中,您有类似的内容。

exports: [SharedComponent]

module1.tsmodule2.ts中,您也有类似的内容。

imports:[SharedModule]