2013-05-06 8 views
1

Пожалуйста, смотрите эту скрипку:

http://jsfiddle.net/sDnN5/

scope.$watch('points', function (value) { 
    scope.console.push('scope.$watch'); 
}); 

по какой-то причине это не стреляя, когда $scope.points изменение

$scope.points.push(1); 

Почему?

EDIT Для уточнения:

Я ожидаю увидеть это:

events: ["scope.$watch","testUpdate()","scope.$watch","testUpdate()","scope.$watch","testUpdate()"] 

Но вместо этого я вижу это:

events: ["scope.$watch","testUpdate()","testUpdate()","testUpdate()"] 

Обратите внимание на отсутствие scope.$watch эс

+1

Вы Fiddle работает для меня ... – TheHippo

+0

Смотрите мое пояснение о том, что я ожидал, и что я вижу. –

ответ

3

Хорошо, добавьте true в вашу функцию атрибута wa ТКП:

scope.$watch('points', function (value) { 
    alert('totowatch'); 
    scope.console.push('scope.$watch'); 
},true); 
+0

Да! Спасибо! Это делает именно то, что мне нужно. Что это за «правда»? –

+3

deepWatch: [по умолчанию false] позволяет просматривать все свойства сложного объекта. ;-) – timactive

Смежные вопросы