変更ハンドラを使用したデータ変更の検出
コンポーネントのいずれかの属性の値が変更されたときに、変更ハンドラを自動的に呼び出す (クライアント側コントローラのアクション) ようにコンポーネントを設定します。
値が変更されると、valueChange.evt イベントが自動的に起動します。イベントには type="VALUE" が設定されています。
コンポーネントで、name="change" のあるハンドラを定義します。
1<aura:handler name="change" value="{!v.numItems}" action="{!c.itemsChange}"/>value 属性は、変更ハンドラが追跡するコンポーネント属性を設定します。
action 属性は、属性値が変更されたときに呼び出すクライアント側コントローラのアクションを設定します。
コンポーネントに複数の <aura:handler name="change"> タグを設定して、さまざまな属性の変更を検出できます。
コントローラで、ハンドラのアクションを定義します。
1({
2 itemsChange: function(cmp, evt) {
3 console.log("numItems has changed");
4 console.log("old value: " + evt.getParam("oldValue"));
5 console.log("current value: " + evt.getParam("value"));
6 }
7})valueChange イベントは、ハンドラのアクションで以前の値 (oldValue) と現在の値 (value) にアクセスできるようにします。
change ハンドラで表されている値が変更された場合、フレームワークによってイベ���トの起動とコンポーネントの再表示が処理されます。