2016-05-19 7 views
0

Verwenden, was ich dachte, war eine grundlegende Route, aber es mag mich nicht.AngularJS Route zeigt nächste Ansicht und sendet dann zurück zur vorherigen Ansicht

Die oben genannten funktioniert, kann ich manuell eingeben/anzeigen oder/im Browser bearbeiten und es wird geladen, und arbeiten.

Ich habe Schaltflächen auf meiner Seite, um die Benutzeroberfläche zu wechseln, und wenn ich es tue, sehe ich die neue Ansicht, und dann wird sofort zurückgeschaltet. Ich bin eingeschaltet/sehe, ich klicke, um den Pfad zum Bearbeiten zu ändern, und es wird bearbeitet und dann wieder angezeigt. Wenn ich jedoch mit der Bearbeitung beginne und klicke, um zur Ansicht zu wechseln, bleibt sie haften. Ich kann dann wieder gut editieren gehen. Es scheint zu sein, wenn die Seite in der Ansicht geladen wird.

Hier ist, wie ich das Ändern der Ansichten

this.viewProfile = function() { 
     $location.path('/view'); 
    }; 
    this.editProfile = function() { 
     $location.path('/edit'); 
    }; 

und sehen die Tasten wie

On/Blick

<button ng-click="user.editProfile()">Edit My Profile</button> 

On/bearbeiten

<button ng-click="user.viewProfile()">Save</button> 

Dank!

Antwort

0

haben Sie mit "window.location.href" versucht?

window.location.href = "#/view"; 

oder etwas mit dem Übernehmen?

$scope.$apply(function() { 
    $location.path('/view'); 
}); 

oder etwas mit dem Timeout

$timeout(function() { 
    $location.path('/bar'); 
}); 
+0

Ich habe diese nicht ausprobiert. Habe einfach die Route zu meiner Seite hinzugefügt, alles was ich oben geändert habe. –

0

Ich glaube, Sie hier 2 Möglichkeiten. Statt Tasten können Sie mit href-Tag verwenden, um zu zeigen, wo Sie

<a href="/edit">Edit My Profile</a> 

Die andere Option gehen wollen, ist $ Umfang zu verwenden. $ Apply() nach $ location.path(). Ich denke, es funktioniert gut, aber ich denke, die erste Option besser.

+0

Code für Schaltflächen hinzugefügt –

Verwandte Themen