Понимание $watch в AngularJS?

Меня немного смущает синтаксис $watch в AngularJS.

Учитывая переменную $scope.foo с начальным значением [1,2,3], и обновление приводит к тому, что теперь оно равно [1,2]. Я хочу, чтобы функция запускалась всякий раз, когда обновляется $scope.foo, с $scope.foo в качестве аргумента.

Как мне это сделать в AngularJS?


person Foo Stack    schedule 02.06.2013    source источник


Ответы (1)


Это довольно просто:

function myFunction(foo) {
    // do something with `foo`
}

$scope.$watch('foo', function(newValue, oldValue) { 
    myFunction(newValue);
});

Дополнительные сведения можно найти в документации AngularJS о $watch.

person Moritz Petersen    schedule 02.06.2013
comment
Вы можете добавить знак $ перед «областью» - person TidharPeer; 02.06.2013
comment
@TidharPeer Ты прав, сделал это. - person Moritz Petersen; 02.06.2013
comment
Спасибо, но я не могу заставить его работать с $http, вот что я пробовал. - person Foo Stack; 02.06.2013