angularjs $ смотреть старое значение и новое значение одинаковы

Мое намерение состоит в том, чтобы наблюдать модель в пределах видимости и находить разницу между старым значением и новым значением.

Тем не менее, я обнаружил, что старое значение и новое значение все те же из следующего кода.

app.controller('MyCtrl', function($scope, $timeout){
  $scope.markers = {};
  $scope.$watchCollection('markers', function(newValue, oldValue){
    console.log('being watched oldValue:', oldValue, 'newValue:', newValue);
  });
  $timeout( function() {
    $scope.markers.foo = 1;
  }, 500);
  $timeout( function() {
    $scope.markers.bar = 2;
  }, 500);
});

выход:

being watched oldValue: Object {} newValue: Object {} script.js:6
being watched oldValue: Object {foo: 1} newValue: Object {foo: 1} script.js:6
being watched oldValue: Object {foo: 1, bar: 2} newValue: Object {foo: 1, bar: 2} 

Почему они одинаковы, и если этонамеренно, тогда почему?

вот код,http://plnkr.co/edit/rfMCF4x6CmVVT957DPSS?p=preview

Ответы на вопрос(4)

Ваш ответ на вопрос