2016-12-08 19 views
1

私はRXJSが新しく、入力ボックスにRX観測値を添付しようとしています。これまでのところ、私は以下のコードがあります...入力ボックスに観測可能なRXを添付してください

$onInit() { 
    this.$timeout(() => { 
     let $input = document.getElementById('input_33'); 
     const weeks$ = this.rx.Observable.fromEvent($input, 'keyup'); 
     const queries$ = weeks$ 
      .map(e => e.target.value) 
      .distinctUntilChanged() 
      .debounce(500); 

     queries$.subscribe(val => console.log(val)); 
    }); 
} 

上記のコードは、keyupの#input_33の値をコンソールに記録します。

私は入力がDOMに現れるのを待つために$タイムアウトを追加しなければなりませんでした。私はむしろタイムアウトを使用する必要がないので、それを行うためのより良い方法はありますか?私は角を使用しています1.5x

答えて

0

あなたは実装rxのプログラミングに間違っているように見えます。 observableからのイベントが発生したときに呼び出されるobserver automatic。

$ timeoutを使用して、入力がDOMに表示されるのを待つべきではありません。コントローラーには、既に使用可能な入力可能フィールドが既に用意されているので、コントローラにコードを入れることができます。

関連する問題