javascript - 页面刷新后在 Angular 中保存当前选定的 <li>

标签 javascript html angularjs

我有一个应用程序全局的侧边栏,其 HTML 位于 main.html 中,其中我还有一个 ui View ,根据状态注入(inject)部分 HTML,例如商店、零售商等的特定信息。

当我单击侧边栏 < li > 元素时,它们将变为“事件”并突出显示,而前一个元素将变为非“事件”。它工作正常,但是,当我刷新页面时,“事件”< li > 丢失,并返回到默认的“事件”< li >。

我正在考虑在页面的每个 Controller 上,通过params传递的ID并将id标签分配给诸如< id =“store_1”>之类的元素,搜索特定元素并使其“事件”。然而,这部分是 DOM 操作,不应该在 Controller 上完成,但我不知道有什么不同的选择!

编辑:我现在记得我可以在 html 文件上编写一个简单的脚本并使用 JQuery,但这也不是最佳选择,我相信。

最佳答案

这很简单。看看window.sessionStorage。您可以存储当前所选项目的名称,然后检索它。你可以写一个像这样的工厂。

 .factory('ActiveState', function (){

   return {

     store_state: function(name){
       window.sessionStorage.setItem('name', name);
     },


    get_state: function(){
      return window.sessionStorage.getItem("name");
    }
   };
 });

关于javascript - 页面刷新后在 Angular 中保存当前选定的 <li>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36481462/

相关文章:

javascript - 使用新值刷新 dat.gui

javascript - 动画滚动

javascript - href 似乎不起作用

javascript - 从打印页面中删除 url 和打印文本

javascript - jQuery 如果带有选择的表单已填写,则显示 div

javascript - jquery marquee使滚动条从上到下而不是从右到左

javascript - Angular Service 与 Controller 同步工作

javascript - $window.height 不是 Firefox 的函数

javascript - 复选框的本地存储

angularjs - 清除Angular表单提交中的输入字段?