scope. $ watch in einer Direktive wird nicht nach einer AJAX-Anfrage aufgerufen

Ich habe folgende Anweisung:

MyApp.directive('myFilter', ['$filter','$rootScope',
function($filter, $rootScope)
{
    var dir = {};
    dir.restrict = 'E';
    dir.templateUrl = 'views/myFilter.html';
    dir.replace = true;
    dir.scope = 
        {
            name: '@',
            model: '=',
        };

    dir.link = function(scope,el,attrs)
    {        
        //stuff here
    }


    return dir; 
}]);

So rufe ich es auf:

<my-filter model="someField" name="abcd" />

Bei der Erstinitialisierung der Richtlinie wird diesomeField&nbsp;ist leer. Später wird es über Ajax abgerufen und sein Wert eingetragen.

Die Frage ist, wie kann ich auf den Wert von achtensomeField&nbsp;aktualisiert werden? Wenn ich das über die Link-Methode mache:

scope.$watch(scope.model, function()
{
   console.log( "changed, new val: ", scope.model );
}

Dies wird nur einmal aufgerufen, wenn die Direktive initialisiert wird, und der Wert ist dann leer. Wenn der Wert über Ajax abgerufen wird (von$http.get) wird diese Uhrfunktion nicht erneut aufgerufen. Jedoch in anderen Teilen der Seite, in denen ich anzeige{{someField}}wird dieser Wert aktualisiert, wenn eine Ajax-Anforderung abgerufen wird. Ich denke also nicht, dass das Problem damit zu tun hat$scope.apply()&nbsp;nach ajax anfrage.

Bearbeiten: someField&nbsp;wird in der Steuerung vergeben. Hier ist der Code:

MyApp.controller('myCtrl', 
['$scope', '$rootScope', '$routeParams', 
'ajax', '$filter',

function($scope, $rootScope, $routeParams, ajax, $filter)
{
    var userId = parseInt( $routeParams.userId );        
    $scope.loaded = false;
    $scope.someField = ""; //initalize with empty value

    var load = function(data)
    {
        $scope.loaded = true;
        $scope.someField = data.someField;            
    };        

    ajax.getUser(userId).success(load);               
}
]);

Die Methodeajax.getUser()&nbsp;tut ein$http.get()&nbsp;und gibt es zurückpromise. Im obigen Code wird dieload&nbsp;Es wird eine Methode aufgerufen, die den Wert von setztsomeField.