Angularjs绑定到控制器以在更改时执行函数

时间:2016-04-15 14:36:26

标签: angularjs

尝试使用新的bindtocontroller作为指令,但很难找到任何有关如何在项目更改时执行函数的工作示例。

指令: -

.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时无需使用“watch”

1 个答案:

答案 0 :(得分:0)

我不使用控制器,我也不总是需要关注它。这是因为模板中的每个表达式都已经被角度“监视”。

如果这只是一个显示值,则无需观看。但是,如果您需要在值更改时执行某些逻辑,则需要$ watch或attr。$ observe。