如何从另一个可重用组件和容器组件访问可重用组件
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 {}
在我们的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 {}