ホームページ  >  記事  >  ウェブフロントエンド  >  Angular 2 でデバウンスを実装するにはどうすればよいですか?

Angular 2 でデバウンスを実装するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-23 10:32:01558ブラウズ

How to Implement Debouncing in Angular 2 ?

Angular 2 デバウンス

デバウンスは、指定された時間が経過するまでタスクの実行を遅らせるためにプログラミングで使用される手法です。そのタスクへの最新の呼び出し。 Angular では、デバウンスを使用して、アプリケーションが高コストの操作を実行する回数を減らし、アプリケーションのパフォーマンスを向上させることができます。

AngularJS では、デバウンスは ng-model-options ディレクティブを使用して処理されました。ただし、Angular 2 にはデバウンス機能が組み込まれていません。代わりに、フォーム コントロールの valueChanges オブザーバブルで RxJS debounceTime() 演算子を使用できます。

Angular 2 でフォーム コントロールをデバウンスする方法の例を次に示します。

<code class="typescript">import {Component}   from '@angular/core';
import {FormControl} from '@angular/forms';
import {Observable}  from 'rxjs/Observable';
import 'rxjs/add/operator/debounceTime';

@Component({
  selector: 'my-app',
  template: `<input type=text [value]="firstName" [formControl]="firstNameControl">
    <br>{{firstName}}`
})
export class AppComponent {
  firstName        = 'Name';
  firstNameControl = new FormControl();

  ngOnInit() {
    this.firstNameControl.valueChanges
      .debounceTime(1000)
      .subscribe(newValue => this.firstName = newValue);
  }
}</code>

Inこの例では、まず firstNameControl という名前の新しい FormControl を作成します。次に、フォーム コントロールの valueChanges オブザーバブルをサブスクライブします。 debounceTime() 演算子を使用して、入力値が最後に変更されてから 1000 ミリ秒が経過するまでコールバック関数の実行を遅らせます。

debounceTime() 演算子は、多くの RxJS 演算子の 1 つにすぎません。オブザーバブルの操作とフィルタリングに使用されます。 RxJS 演算子の詳細については、RxJS ドキュメントを参照してください。

以上がAngular 2 でデバウンスを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。