2016-04-15 5 views
0

Der Versuch, den neuen bindtocontroller für eine Anweisung zu verwenden, hat jedoch Schwierigkeiten, funktionierende Beispiele dafür zu finden, wie eine Funktion beim Ändern von Elementen ausgeführt wird.Angularjs binden an den Controller, um die Funktion auszuführen, wenn sie geändert wird

Richtlinie: -

.directive('freetextNote', [function() { 
return { 
    restrict: 'E', 
    scope: { 
     activityRef: '@' 
    }, 
    controller: 'TestCtrl', 
    templateUrl: 'content/templates/test.html', 
    controllerAs: 'vm', 
    bindToController: true, 
}; 

und in der Steuerung: -

$scope.$watch("activityRef",function(newValue,OldValue){ 
    debugger; 
    if (newValue){ 
     //execute function 
     alert(JSON.stringify(newValue)); 
    } 
}); 

wie ich sie verstehe, gibt es keine Notwendigkeit, verwenden "beobachten", wenn bindtocontroller mit

Antwort

0

I don‘ t verwenden ControllerAs und ich muss nicht immer watchIt auch. Dies liegt daran, dass jeder Ausdruck in der Vorlage bereits von eckig "überwacht" wird.

Wenn dies nur ein angezeigter Wert ist, müssen Sie ihn nicht ansehen. Wenn Sie jedoch eine gewisse Logik durchführen müssen, wenn sich der Wert ändert, benötigen Sie ein $ watch oder attr. $ Observe.

+0

Also im Grunde nicht bindToController verwenden, wenn ich eine Aktion ausführen muss, dann ändert sich der Wert .. – Simon

Verwandte Themen