angularjs ng-Klasse-Methode wird mehrmals aufgerufen

8

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

    
Philly guy 11.04.2013, 14:51
quelle

1 Antwort

7

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.

    
Mark Rajcok 11.04.2013, 15:25
quelle

Tags und Links