Angular-异步管道和搜索

时间:2018-11-03 20:22:56

标签: angular observable angular-httpclient angular-pipe angular-observable

我知道这是完全错误的...。但是我找不到实现它的示例

{
   name: 'bodyparser',
   policy: (actionParams) => express.json()
}

1 个答案:

答案 0 :(得分:1)

为了能够订阅和发布到可观察对象,可以使用“主题”。

请记住,您可以触发http呼叫,并将新值广播到您的主题。

search = '';
countries$ = new Subject();
ngOnInit() {
    this.refreshCountries();
}

search(key) {
    this.search = key;
    this.refreshCountries();
}

refreshCountries(){
    this.areasService.getCountries(this.search)
       .subscribe((value) => {
         if(value && value.docs){
            console.log('received docs =', value.docs);
            this.countries$.next(value.docs)); //HttpClient request
         }
}

<ul>
    <li *ngFor="let c of (countries$ | async)">{{c.name}}</li>
</ul>

注意:为了减少发出的请求数量(这是您很快将要面临的问题),可以使用debounceTime