【问题标题】:passing data to all component | angular 4将数据传递给所有组件 |角度 4
【发布时间】:2017-11-20 16:38:20
【问题描述】:

我的组件有数组,我想将此对象传递给所有其他组件。 在我的组件中,我有一个函数根据 cookie 值获取数据,然后我想将对象数据放入其他组件 {{lang.data1}}。

    this.lang=this._webService.getlang(this.cookieValue);

如何在所有其他组件中使用 lang。

【问题讨论】:

  • 您是否尝试过使用共享服务?

标签: javascript json angular multidimensional-array


【解决方案1】:

如果这是针对中小型应用程序

然后你创建服务以便使用事件发射器将信息传递给所有组件

但如果这是针对大型应用程序,我建议您使用 ngrx i:e redux 方法,其中所有数据都存储在特定位置。

如果你想检查 redux 是如何工作的,请查看 git hub 中的这个 repo,在 ngrx store 上有一个非常简单的 angular 演示。

https://github.com/rahulrsingh09/AngularConcepts

【讨论】:

    【解决方案2】:

    使用带有数组的组件作为服务。在根组件中初始化该服务并在您想要的任何组件中导入该服务数组。

    【讨论】:

      【解决方案3】:

      您可以使用dependency injection 并注入语言服务,或者您也可以使用 BaseComponent

      export class BaseComponent {
      
          public language: any;
      
          constructor() {
              this.language = configuration.language;
          }
      }
      export class BlockComponent extends BaseComponent {
          constructor() {
              super();
              console.log(this.language);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2018-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-05
        • 1970-01-01
        • 2019-02-11
        • 2018-02-14
        • 2015-09-22
        相关资源
        最近更新 更多