我有一个应用程序全局的侧边栏,其 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/