Ich habe eine AngularJS-Anwendung mit verschiedenen Ansichten. Eine dieser Ansichten wird verwendet, um ein Werkzeug zu steuern, das drei verschiedene Zustände aufweist: gestartet, gestoppt, mit entsprechenden Knöpfen pausiert.Aktualisieren Ansichten auf laden Methode + http.get seltsames Verhalten
Das Tool läuft auf einem Server und ich möchte den Zustand meiner Ansicht mit den Daten vom Server jedes Mal aktualisieren, wenn ich zurück gehe. Beispiel: Ich starte das Tool und gehe dann zu einer anderen Ansicht. Wenn ich wieder in der Werkzeugansicht bin, rufe ich einen Service unter $ http.get an, um den Status meines Tools zu erhalten. Dies gibt mir eine Zeichenfolge "gestartet", und ich verwende es, um die Elemente meiner Ansicht zu aktualisieren.
1 - Ist es besser ng-init zu verwenden = "update()" in meinem Tool.html zu aktualisieren an jedem wie neu laden in:
<div ng-init=update()> [all my content] </div>
oder Update nennen () in meinem Werkzeug-Controller? Oder vielleicht eine andere Methode, die Sie mir vorschlagen könnten.
2 - ich versuchte, die beide Präzedenzfall Verfahren und in jedem Fall habe ich ein Problem, wo manchmal die http.get nicht funktioniert, und die Elemente werden nicht korrekt aktualisiert. Ich benutze es auf diese Weise:
$http.get('linkToGetTheState')
.then(function(response) {
$scope.toolStatus = response.data;
})
switch($scope.toolStatus)
...
Manchmal funktioniert es, andere Zeit es nicht (wenn ich Schritt für Schritt ausgeführt werden, es every von Anfang an dem http.get bis zum Ende des Schalters springt und toolStatus bleibt undefined), und noch seltsamer, es funktioniert besser, wenn ich die Funktion zweimal aufrufen ... Wenn jemand Ahnung hat, was hier und/oder warum passiert, würde ich sehr dankbar sein.
Ich hoffe, meine Frage ist klar, ich bin neu in Angular/StackOverflow, und ich kann präzisieren, wenn nötig.