In diesem Beispiel habe ich 2 ng-Klasse, die jeweils verschiedene Controller-Methode aufrufen, aus irgendeinem Grund ruft jede Methode 3 mal, Irgendeine Idee? Möglicher Fehler?
%Vor%Danke
Es ist kein Fehler. Wenn Angular etwas wie ng-class="firstClass()"
kompiliert, richtet es eine $ Uhr dafür ein. Eine Digest-Schleife kann jede $ watch mehrere Male bewerten:
Angular tritt in die $ Digest-Schleife ein. Die Schleife besteht aus zwei kleineren Schleifen, die die $ evalAsync-Warteschlange und die $ watch-Liste verarbeiten. Die $ digest-Schleife iteriert solange, bis sich das Modell stabilisiert hat, was bedeutet, dass die $ evalAsync-Warteschlange leer ist und die $ watch-Liste keine Änderungen erkennt. - Übersichtsdoc
Auch
Nachdem ein Watcher beim Oszilloskop registriert wurde, wird der Listener fn asynchron (über $ evalAsync) aufgerufen, um den Watcher zu initialisieren. In seltenen Fällen ist dies unerwünscht, da der Listener aufgerufen wird, wenn sich das Ergebnis von watchExpression nicht geändert hat. - $ watch docs
Also, mindestens zwei Mal wird erwartet.
Tags und Links javascript angularjs