/ / AngularJS: chamando $ watchGroup do escopo - javascript, angularjs, angularjs-directive, angularjs-scope

AngularJS: chamando $ watchGroup do escopo - javascript, angularjs, angularjs-directive, angularjs-scope

Como posso chamar a função de link de formulário $ watctGroup dedirectiva. Eu tenho dois elementos de escopo simples (integer) e eu gostaria de vê-los em par. Eu suponho que $ watchGroup é mais efetivo do que usar algo como $ watch ("[element1, element2"], ..).

Respostas:

5 para resposta № 1

Como isso:

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

Atualizar:

Bare em mente que $watchGroup começou a estar disponível no AngularJS 1.3, se você estiver usando uma versão anterior, ela não irá funcionar.

Exemplo de como usar $watchGroup em uma diretriz:

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