$regarder un objet

Je veux regarder les changements dans un dictionnaire, mais pour une raison de regarder le rappel n'est pas appelé.

Ici est un contrôleur que j'utilise:

function MyController($scope) {
    $scope.form = {
        name: 'my name',
        surname: 'surname'
    }

    $scope.$watch('form', function(newVal, oldVal){
        console.log('changed');
    });
}

Ici est violon.

J'attends $regarder de rappel pour être déclenché à chaque fois que le nom ou le prénom est changé, mais ça n'arrivera pas.

Quelle est la bonne façon de le faire?