AngularJS:从范围调用$ watchGroup

时间:2014-09-19 20:43:58

标签: javascript angularjs angularjs-directive angularjs-scope

如何调用$ watctGroup表单链接函数的指令。我有两个简单的范围元素(整数),我想成对观看它们。我认为$ watchGroup比使用$ watch(' [element1,element2'],...)更有效。

1 个答案:

答案 0 :(得分:5)

像这样:

scope.element1=1;
scope.element2=2;
scope.$watchGroup(['element1','element2'], function(){/* your code here */});

更新

请记住,$watchGroup开始在AngularJS 1.3中可用,如果您使用的是以前的版本,它将无法正常工作。

如何在指令中使用$watchGroup的示例:

angular.module ('testApp' , [])
.directive ('testDirective', function (){
    return{
        restrict:'A',
        replace:true,
        template: '<div ng-click="inc()">{{element1}} <br/> {{element2}}</div>',
        link: function(scope, element, attrs){
            scope.element1=0;
            scope.element2=0;
            scope.inc = function(){scope.element1++;scope.element2--};
            scope.$watchGroup(['element1', 'element2'], function(){
                console.log('something changed!');
            });
        }
    }
 });

PLUNKER