Ich entwickelte Telefonanwendung mit Phonegap + AngularJS + Framework7. Mein Problem beginnt mit den Auslagerungsseiten des framework7.Laden von Seiten mit Framework7 und AngularJS
Framework7 injizieren neue HTML-Seite dynamisch zum DOM, wenn Benutzer auf Link-Taste drücken. Daher muss ich $ compile und $ apply() mit angular verwenden, um den neuen HTML-Teil, der injiziert wurde, neu zu kompilieren.
aber das Öffnen einer Fensteranimation stottert, während sie gleichzeitig geladen und kompiliert wird. mein Kompilierung Code ist, dass:
//listiner for new page injection to DOM.
$$(document).on('pageInit', function (e) {
//on page init , compile the new DOM ijected.
$compile(angular.element(document.getElementsByClassName(e.detail.page.container.className)).contents())($scope);
$scope.$apply();
});
Es gibt auch Event "beforeAnimation" genannt wird. ich dachte, vielleicht alles vor der animation zwischenzeitlich zu kompilieren, um dem benutzer ein loading spinner zu zeigen und wenn die seite fertig ist will ich die animation starten und ihm die seite zeigen. aber ich bin mir nicht sicher, wie diese Lösung zu implementieren, $compile
und $apply()
ist Sync? wenn ich versprechen muss, stelle sicher, dass die animation der neuen seite erst nach $compile
und $apply
gestartet wird.
Wenn Sie an eine andere Lösung denken, werde ich mich freuen, das zu hören.
Ich schlage vor, Sie einige Starter überprüfen Pakete, vielleicht sogar das ionic.io-Projekt. Sowohl Angular1 als auch Angular2 basierte Projekte. –