2016-04-15 68 views
0

嘗試對指令使用新的bindtocontroller,但是努力尋找任何有關如何在項目更改時執行函數的工作示例。Angularjs綁定到控制器以在更改時執行函數

指令: -

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

,並在控制器: -

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

據我瞭解,有使用的時候是沒有必要使用 「監視」 bindtocontroller

回答

0

我不不要使用控制器,我也不總是需要看它。這是因爲模板中的每個表達式都已被角度「監視」。

如果這只是一個顯示值,你不需要看。但是,如果您需要執行某些邏輯(如果值發生更改),則需要$ watch或attr。$ observe。

+0

所以基本上不使用bindToController如果我需要執行一個操作,然後值的變化.. – Simon