2016-05-18 16 views

答えて

2

事実、イベントから作成されたオブザーバブルに依存する必要があります。デフォルトのイベント・バインディングを使用する場合、この監視対象にアクセスすることはできません。この問題に関する開いて問題があります。

今あなたが@ViewChildデコレータを持つ要素を参照し、その上に観察を設定する必要があります。

@ViewChild('someElt') 
someElt: ElementRef; 

ngAfterViewInit() { 
    Observable.fromEvent(someElt.nativeElement, 'keyup'); 
} 

switchMap演算子を利用して、HTTPリクエストを好きにすることができます。データフローに進行中のリクエストがある場合、キャンセルされます。

@ViewChild('someElt') 
someElt: ElementRef; 

ngAfterViewInit() { 
    Observable.fromEvent(someElt.nativeElement, 'keyup').switchMap((evt) => { 
    return this.http.get('something').map(res => res.json()) 
    }).subscribe(data => { 
    // use data 
    }); 
} 
関連する問題