ToDoDoDo

WEBとクリエイティブな何かについて

【AngularJS】$scopeプロパティの監視、処理のバインドを設定

f:id:eiji_sm:20130314131453p:plain

AngularJSにおいて、通常、モデルとなる$scopeプロパティの更新は常に行われるますが、値の変更に対して処理のバインドを行いたい場合は、$watch()メソッドを用いて監視できます。

// $scope.$watch(watchExpression, listener, objectEquality)
$scope.$watch('name', function (newVal, oldVal) {
    if (newVal === oldVal) { return; }
    $scope.name = oldVal + newVal;
});

基本的に、値が書き換わったときにコールされますが、リスナーの登録時など、そうでない場合でも処理が走る時があるみたい。