我们如何在angular4中跨模块共享数据btw组件?

时间:2018-01-03 10:37:07

标签: angular

我正在尝试跨两个不同模块在组件之间共享数据。我正在使用共享服务和BehaviorSubject来实现这一点。

在同一模块中的组件中完美运行,但对于不同模块中的组件没有运气。有什么建议吗?

3 个答案:

答案 0 :(得分:0)

可能这个可以解决你的问题 https://stackblitz.com/edit/angular-xrknuj

答案 1 :(得分:0)

您是否尝试从共享模块导出组件?如果是这样,您可以使用组件输出(如果它们相邻)或服务(如果它们不相邻),就像您提到的那样在两个组件之间共享数据。

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { MyComponent } from '../components/my-component';

@NgModule({
  imports: [
    CommonModule,
  ],
  declarations: [
    MyComponent,
  ],
  exports: [
    MyComponent,
  ],
})

export class SharedModule { }

答案 2 :(得分:0)

这应该适用于不同模块的服务。你的模块是否彼此了解?

可能的架构可能是这样的: Module1Module2想要分享一些数据。然后你有一个Shared模块,它导入BOTH,Module1Module2。在这种情况下,沟通应该有效。

请在此处查看更多信息: https://medium.com/dailyjs/3-ways-to-communicate-between-angular-components-a1e3f3304ecb (你的解决方案是第3号)