Я создал приложение angularjs, в котором у меня есть директива, я наблюдаю за часами в директиве, чтобы запускать некоторые методы в директиве, когда происходит изменение переменной $rootScope, но проблема в том, что $Значение rootScope.name изменяется, часы, находящиеся внутри директивы, не работают
Мой код приведен ниже
Рабочий демонстрационный пример
var module = angular.module('myapp', []);
module.controller("TreeCtrl", function($scope, $rootScope) {
    $scope.treeFamily = {
        name : "Parent"
    };
    $scope.changeValue = function()
    {
        $rootScope.name = $scope.userName;
    };
});
module.directive("tree", function($compile) {
    return {
        restrict: "E",
        transclude: true,
        scope: {},
        template:'<div>sample</div>',
        link : function(scope, elm, $attrs) {
           function update()
           {
           };
           scope.$watch('name', function(newVal, oldVal) {
                console.log('calling');
               update();
            }, true);
        }
    };
});
