2017-03-21 4 views
0

ich in meiner Bootstrap-Website eine Seite im Menü Bootstrap-CSS-Klasse:Bootstrap Sidebar navbar speichern geöffnet Registerkarte nach Refresh

<div class="page-sidebar navbar-collapse collapse sidebar-nav"> 

<ul> 
<li> 
.. 
</li> 
</ul> 
</div> 

, wenn der Benutzer auf eine Registerkarte geklickt, und die Aktualisierung der Seite, wie kann ich sparen die Registerkarte vom Benutzer geöffnet? irgendeine Idee?

Antwort

2
  1. wenn Sie Winkel ui-Router verwenden, können Sie die stateparam verwenden, wenn nicht gibt es weitere zwei Möglichkeiten

  2. url params,

  3. local,

für der zweite Punkt

function getParameterByName(name, url) { 
    if (!url) { 
     url = window.location.href; 
    } 
    name = name.replace(/[\[\]]/g, "\\$&"); 
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
     results = regex.exec(url); 
    if (!results) return null; 
    if (!results[2]) return ''; 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 


url with param page ?tab=home 
$scope.tab = getParameterByName('tab'); // this is called in the controller if the page is reloaded 

### bearbeiten ### Dann fügen Sie Ihre die param auf Ihre Links

<li ng-class="active: tab === 'home' href="someurl/?tab=home"></li> 
<li ng-class="active: tab === 'about' href="someurl/?tab=about"></li> 

für die dritte Option Sie ng klicken Funktion

$scope.setTab = function(tab){ 
    $window.localStorage.setItem("tab", tab); 
} 

Sie die hinzufügen können bekommen können Tab von

$window.localStorage.getItem("tab"); 

Sie werden null zu handhaben, wenn der Wert Registerkarte leer ist

können Sie verwenden sessionStorage diese zeitliche wird

set value 
sessionStorage.tab = "home" 
    get value 
    $scope.tab = sessionStorage.tab 
+0

Ich bin interessiert an der localstorage, können Sie mir bitte helfen mit, dass? –

+1

Ok sicher, ich hole dir ein Beispiel – ayinloya

+1

@ElioChamy Wenn du dir über nichts klar bist lass es mich wissen;) – ayinloya