1) Gibt es ein Digest-Complete-Event, mit dem ich meine Canvas aktualisieren kann? Ich habe eine eckige App, die verschiedene Eigenschaften des Canvas-Objekts anzeigt. Immer wenn ich die Eigenschaft ändere, sobald der Digest abgeschlossen ist, kann ich den Canvas (mit kineticJs) aktualisieren, um das Diagramm mit den neuesten Eigenschaften neu zu zeichnen, wenn ich das Ereignis digest complete erhalten kann.
Momentan rufe ich eine Methode aus der Sicht
auf
2) Ich benutze nur Ansichten und route es in eine neue Ansicht, wenn eine Objekteinstellung geöffnet wird. In diesem Fall ändert sich die URL auch mit der Webseite / # view.Its nur das Popup Ich brauche nicht die #view am Ende der Seite, aber immer noch das Routing-und View-Konzept. Gibt es einen anderen Weg?
Karl Seamon hielt einen Vortrag in ng-conf 2014 .
In diesem Video ( 22:20 minute ) sprach er über eine Zukunft Möglichkeit einer eingebauten $ postDigestWatch .
Hier ist ein offenes Thema in: Ссылка
Also, es wird wahrscheinlich in zukünftigen Versionen zum Kern kommen, bis dann können Sie den Trick unten verwenden.
$digest
haben. $watch
für die erste $digest
, um eine $timeout
zu registrieren, die nach Beendigung des Digest-Zyklus laufen würde. $watch
sofort abmelden, um mehrere $timeout
Callbacks für einen Digest-Zyklus zu vermeiden. $timeout
Callback rufe ich den Benutzer Callback auf und registriere ein $watch
für das nächste $digest
. $ digest , aus den Dokumenten :
Wenn Sie benachrichtigt werden möchten, wenn $ digest () aufgerufen wird, können Sie eine Funktion watchExpression mit $ watch () ohne Listener registrieren.
$ timeout , Von hier: Verzögern Sie die Ausführung von angularjs nach $ digest (DOM-Ereignis wird ausgelöst)
$ timeout bewirkt, dass ein anderer Digest-Zyklus ausgeführt wird, nachdem die Funktion ausgeführt wurde. Wenn Ihr Auslöser nichts Angular beeinflusst, können Sie das Argument invokeApply auf false setzen, um zu vermeiden, dass ein anderer Digest-Zyklus ausgeführt wird.
Als Alternative zu dem, was Ilan sagte, könnten Sie $ evalAsync verwenden.
aus demselben Dokument :
%Vor%Sehen Sie sich auch diesen Kommentar zu diesem Thema an.
>Tags und Links javascript angularjs kineticjs