2015-08-28 3 views
0

У меня есть меню treeview, где я хотел бы запомнить его состояние после перезагрузки страницы. Для перезагрузки страницы я использую функцию angularJS $ state.reload();Сохранение состояния меню после перезагрузки страницы

Я не знаю, должен ли я использовать JQuery для сбора файлов cookie о текущем состоянии меню и сохранять его, или, может быть, есть способ собирать данные о текущем состоянии с использованием углового.

Любые идеи и предложения будут высоко оценены.

Вот мой HTML

<nav class="side-nav" id="menu"> 
<ul> 
    <li class="side-nav-item"> 
     <a href="/index"> 
      <i class="nav-item-icon icon ion-ios7-navigate-outline"></i> 
      Main page 
     </a> 
    </li> 
    <li class="side-nav-item collapsable"> 
     <a href="javascript:void(0);"> 
      <i class="nav-item-icon icon icon ion-chevron-right"></i> 
      1. subitem 
     </a> 
     <ul style="display:none;"> 
      <li class="side-nav-item"> 
       <a ui-sref=".countiesandtowns"> 
        <i class="nav-item-icon icon ion-clipboard"></i> 
        2. subitem 
       </a> 
      </li> 
     </ul> 
    </li> 
</ul> 

А вот JQuery Я использую

$(function() { 
$(document).ready(function() { 
    $("#menu").treeview({ 
     toggle: function() { 
      var element = $(this).find(">a>i"); 

      if (element) { 
       var rightElement = element.hasClass("ion-chevron-right"); 
       var downElement = element.hasClass("ion-chevron-down"); 

       element.removeClass("ion-chevron-right"); 
       element.removeClass("ion-chevron-down"); 

       if (rightElement) 
        element.addClass("ion-chevron-down"); 
       if (downElement) 
        element.addClass("ion-chevron-right"); 
      } 
     } 
    }); 
});}); 

ответ

0

Это звучит как печенье, что вы хотите здесь. Проверьте это W3C spec on cookies, не нужно jQuery!

После того, как вы сохраните кук, после перезагрузки страницы просто проверить состояние куков и отображения меню на основе этого

+0

Благодарим вас за ответ. Мне удалось решить эту проблему залив, добавив '$ ("#" меню) TreeView ({ сохраняются:. "Куки", рухнул: правда, управления: "#treecontrol",' к моему TreeView плагин , – noob123

0

Я думаю, что лучший вариант будет рассмотреть вопрос об использовании window.localStorage с печеньем запасного вариантом. Фактически, если вы используете angular, вы можете даже рассмотреть возможность использования angular-local-storage, который можно увидеть here.

angular-local-storage предоставляет резервную копию для печенья для вас, но это не слишком сложно реализовать самостоятельно и просто требует проверки, определен ли window.localStorage.

Надеюсь, что это поможет!

Смежные вопросы