【问题标题】:How to get response in other component and listen for data changes when new response come如何在其他组件中获得响应并在新响应到来时监听数据变化
【发布时间】:2018-06-24 01:06:53
【问题描述】:

这是我的搜索服务:

search.service.ts

export class SearchService {
    public searchResults;
    ... 
}

如果我想更新我的搜索结果:

this.searchService.getSearchbyDistrictCategoryCity(this.searchObj).subscribe(data => {
    this.searchedResults = data;
    this.searchService.searchResults = data; 
}, error => this.errorMessage = <any>error);

然后在我的 search.results.component.ts 中是另一个组件,而不是我使用该服务的那个

this.messages = this.searchService.searchResults;

但我希望 this.messages 在每次有新回复时都能得到更新。我确信这与 Observable 相关,但不确定如何实现它。

【问题讨论】:

标签: javascript angular api service observable


【解决方案1】:

你可以这样试试:

   this.searchService.getSearchbyDistrictCategoryCity(this.searchObj)
    .subscrie(data=>{
              this.searchedResults = data;
              this.searchService.searchResults = data; 
             // or this.messages = data
              this.messages = this.searchService.searchResults;
            },error=>this.errorMessage= <any>error);

你应该在 this.searchService.getSearchbyDistrictCategoryCity 的回调中设置 this.messages 的值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 2018-07-25
    • 2018-11-01
    • 2021-08-25
    相关资源
    最近更新 更多