如何从另一个可重用组件和容器组件访问可重用组件

How to access a reusable component from one another reusable component and a container component

在我们的Angular8项目中,我们有一个用于用户注册的容器组件(user.registartion)。此外,我们还有一个用于更新用户信息的可重用组件 (user.component)。两个组件都必须显示一个 'user policy' 弹出窗口,这也是一个可重用组件 (policy.component)。下图是我的项目结构。

但我无法在两个组件中显示策略弹出窗口。它在用户注册页面上显示以下错误。

如何从用户注册和用户信息组件访问 'Policy' 组件?

您需要创建一个共享模块以在多个 模块 之间共享组件(以及您想要共享的所有内容,例如管道、指令等)。 docs里面有个例子如何使用:

// ...

@NgModule({
 imports:      [ CommonModule ],
 declarations: [ ... your components etc... ],
 exports:      [ ... your components etc... ]
})
export class SharedModule { }

记得将 CommonModule 导入共享模块中的导入数组,然后导出组件。然后import共享模块到你的其他模块。

您需要在 UserRegistrationModule 上导入 SharedModule...像这样:

@NgModule({
  // ...
  imports: [
    CommonModule,
    SharedModukle, // <--- 
  ],
  // ...
})
export class UserRegistrationModule {}