web-dev-qa-db-ja.com

TypeError:search.valueChanges.debounceTimeは関数ではありません

私は単にangular2を学んでいます。入力の変更時に何かを適用するときに、エラーが発生します。

app.ts:

export class AppComponent {
    form: ControlGroup;

    constructor(fb: FormBuilder) {
        this.form = fb.group({
            search: []
        });

        var search = this.form.find('search');
        search.valueChanges
            .debounceTime(400)
            .map(str => (<string>str).replace(' ','‐'))
            .subscribe(x => console.log(x));
    };

 }

エラー:

enter image description here

これを解決するには?何か不足していますか?

Plunker Demo

N.B。今、plunkerで初めてangle2を書いているので、plunkerで何も作成できません。 plunkerでapp.tsコードのみを記述しました。ローカルPCのエラーのスクリーンショットを示しました。 plunkerでangular2プロジェクトを実行する方法を教えていただければ感謝します。

49
user1896653

エラーを削除するにはこれらをインポートするだけです。 Observablesにはデフォルトで少数の演算子が付属しているため、ランタイムエラーが発生しています。このように明示的にインポートする必要があります-

import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/map';

Working example

90
Pardeep Jain

DebounceTime(400)をpipe()関数内に配置します。

var search = this.form.find('search');
    search.valueChanges
        .pipe(debounceTime(400))
        .map(str => (<string>str).replace(' ','‐'))
        .subscribe(x => console.log(x));
5