2016-10-21 6 views
0

Stellen Sie sich ein klassisches Tabellierungssystem auf einer Seite vor (Beispiel:/#/page).angularJS - Parameter während der Navigation speichern

In der Steuerung:

angular.module('app').controller("Ctrl", '$routeParams', function($routeParams) { 
this.tab = 1; 
}]); 

In der Ansicht (/ #/Seite):

<li ng-class="{ 'active': ctrl.tab == 1 }"> 
<a href ng-click="ctrl.tab = 1">onglet 1</a> 
</li> 
<li ng-class="{ 'active': ctrl.tab == 2 }"> 
<a href ng-click="ctrl.tab = 2">onglet 2</a> 
</li> 

Sobald Sie auf eine Registerkarte geklickt wird, zeigt es den entsprechenden Block. Im Inneren haben wir Text und Links, die ein Modal öffnen, das die URL verändert (zB:/#/page/action). Dafür verwende ich ngRoute und $ routeParams.

Das kleine Problem ist, wenn sich die URL ändert, der Wert this.tab zurückgesetzt, aber ich bin immer auf der gleichen Seite.

Gibt es eine Möglichkeit, diesen Wert in meinem Controller zu halten?

Danke,

+0

Finaly, verwende ich einen Dienst, der meine Registerkarte spart. Wenn ich die Route ändere, behalte ich meinen Param. – Flo

Antwort

0

Verwendung reloadOnSearch:

Wo Sie Ihre Routen zu definieren, fügen Sie den folgenden

{ 
    "pattern": "/page", 
    "templateUrl": "/path/to/my/template.html", 
    "reloadOnSearch": false 
}, 
+0

es funktioniert nicht für mich. Wenn ich die route #/page in #/page/action ändere, wird mein param zurückgesetzt. – Flo

Verwandte Themen