在angular 2中将数据从一个组件传递到另一个组件(不是父到子或子到父)?

在angular 2中将数据从一个组件传递到另一个组件(不是父到子或子到父)?,angular,angular2-components,Angular,Angular2 Components,你好,我是新来的。我被困在以下情况中。我有一个ul在我的主页组件。我正在对工作描述进行firebase api调用,并将其存储到一个数组中,比如说一个工作数组,我在主页中以如下方式显示数据 <ul *ngFor = "let job of jobs " class="job-list" routerLink="jobdetails" > <div class="row"> <div class="col-md-3"> <

你好,我是新来的。我被困在以下情况中。我有一个ul在我的主页组件。我正在对工作描述进行firebase api调用,并将其存储到一个数组中,比如说一个工作数组,我在主页中以如下方式显示数据

<ul *ngFor = "let job of jobs " class="job-list" routerLink="jobdetails" >
    <div class="row">
      <div class="col-md-3">
        <li>{{job.nameOfThePost}}</li>
      </div>
      <div class="col-md-3">
        <li>{{job.lastDateOfApplication}}</li>
      </div>
      <div class="col-md-3">
        <li>{{job.noOfJob}}</li>
      </div>
      <div class="col-md-3">
        <li>{{job.educationalQualification}}</li>
      </div>
    </div>
  </ul>

  • {{job.nameofpost}
  • {{job.lastDateOfApplication}
  • {{job.noOfJob}}
  • {{job.educationalQualification}
  • 单击ui的一个li后,我想将用户带到一个新组件,比如jobdetails组件。
    现在我的问题是我想把一个数组传递给jobdetails组件。因为jobdetails组件不是homepage组件的子组件,所以如何将数据从homepage组件传递到jobdetails组件。我找到的所有帮助都是关于如何将数据从孩子传递到家长或从家长传递到孩子。我怎样才能做到这一点呢?

    有几种方法可以帮助你实现目标。所有这些都涉及某种共享类。正如@AJT_82已经指出的,对于新手来说,共享服务将是最常见的方式

    另一种选择是使用NgRX,并将状态信息推送到NgRX表中,第二个页面到达时可以订阅该表


    您可能还想考虑通过一个ID并在到达数据库时从数据库加载信息,以便数据不是过时的

    < p>或者去寻找一个将信息从一个组件共享到另一个组件的服务,如果它是一个小规模的应用程序,它是推荐的方法,因为嵌套多事件发射器不是处理数据的好方法

    另一种方法是Redux方法,建议将其用于中大型应用程序。这是一个存储和还原的概念,所有数据都在一个地方处理。当您必须在多个组件之间同步数据时,这非常好

    共享服务::)使用参数导航: