将过滤后的数据从一个组件传递到另一个组件

时间:2017-09-19 09:43:53

标签: angular components angular2-forms angular-routing

我有formgroup我从目的地到目的地并且我将这个对象数据传递给服务并检查那些路由总线是否可用但是我无法订阅在另一个组件中返回的这些数据。 / p>

home.component.ts

  submit(value) {
const data = this.searchForm.value;
this.homeservice.getbus(data).subscribe((res) => {
    this.busfilter = res;
    console.log(this.busfilter);
     this.navigateToBusTicket();
},
() => {
});
}
 private navigateToBusTicket() {
  this.router.navigate(['busticket']);
}

} 的 home.service.ts

 getbus(data) {
return this.http.get('http://127.0.0.1:3000/bus')
.map(
(response: Response) => {
    const items = response.json();
    for (let i = 0; i < items.length; i++) {
    if (data.fromandto.from === items[i].from && data.fromandto.to === items[i].to) {
      // console.log(items);
      return items;
    }
  }
})

我想在另一个组件 busticket 中订阅此返回的数据怎么做?

1 个答案:

答案 0 :(得分:0)

例如,在home.service.ts中,您可以使用EventEmitter使用您收到的数据发出事件,而在其他组件中可以处理该事件 - 订阅和处理已回收的数据。您可以在下面阅读有关组件通信的更多信息。