2016-07-08 6 views
0

Ich habe mehrere Eingabefelder und muss verschiedene Rechenoperationen durchführen. Ich frage mich, was ist der bessere Weg, um dies mit $ watch oder Standard-eckigen Direktiven zu implementieren.

Beispiel:

$scope.calculate = function(argument) { 
 
// do something 
 
} 
 

 
$watch('item', fucntion(){ 
 
// do something  
 
     
 
})
<div> 
 
<input type="text" ng-model="item.one" ng-keyup="calculate(item)"> 
 
<input type="text" ng-model="item.two" ng-keyup="calculate(item)"> 
 
<input type="text" ng-model="item.three" ng-keyup="calculate(item)"> 
 

 
</div>

Wie ich AngularJS wissen setzt einen Beobachter für jede Richtlinie, also in dieser Situation I 3-Beobachter haben für ng-keyup="calculate(item)", wie ich es ist besser zu verstehen, eine zu verwenden $watch in diesem Fall, aber was ist, wenn meine item verschachtelt ist: $ scope.container.things.item

Wie wird es Auswirkungen auf die Geschwindigkeit per Form und was ist die beste Praxis, um solche Manipulationen zu machen?

Antwort

0

Wenn Sie einfach Uhren einrichten, wann/wie werden sie ausgelöst? Was wird die Digest-Schleife auslösen, die diese Uhren auswertet?

Es ist diese Direktiven. Es handelt sich also nicht um eine Performance, sondern um eine einzige Option. Sie müssen die Anweisungen verwenden, um die Digest-Schleife basierend auf der Benutzerinteraktion auszulösen.

Verwandte Themen