2016-07-26 10 views
4

Angular2シード(https://github.com/mgechev/angular2-seed)を使用していますが、問題が発生しました。Angular2、マウスを動かすたびに関数が呼び出される理由

実際、私のテンプレートhtmlでは、コンポーネントの変数テストで{{test}}、getTest()関数を呼び出す{{getTest()}}のようなバインディングを使用します。

getTest()でコンソールログを使用すると、マウスを移動するたびにログが取得されます。

希望の動作ですか?

オブザーバーのように、値が変更された場合にのみ更新されると考えていました。 毎回この呼び出しを避けるためにオブザーバーを使用する必要がありましたか?

ありがとう。

答えて

4

Angular2変更検出は、実行されるたびにバインディングが更新されるかどうかをチェックし、通常はリッスンされたイベントが発生したときに実行されます。

これは、バインディングでメソッド呼び出しを使用することをお勧めしない理由です。

+0

このようなバインディングの代わりにオブザーバーを使用しますので、回答していただきありがとうございます。 –

+0

通常、「観察可能」が良いアイデアです。プロパティに値を割り当てて、代わりにこのプロパティにバインドすることもできます。 –

+0

私はこれを見ていきます、ありがとう –

関連する問題