您的位置:首页 > Web前端 > HTML

html 本地存储(localStorage and sessionStorage)

2017-08-28 10:25 204 查看
刚刚学习anjularJS和html的项目开发,其中在ui库中使用一种步骤类型的样式,其实就是form表单的ng-if判断显示,样式好用但也伴随着很多的问题,其中一个bug就是刷新会回到第一步,回到第一步的原因是刷新时会从新加载js代码,因为状态没变,所以就会出现无论刷新的哪一步,都会回到第一步,解决该问题的方法就是本地存储。

百度发现有两种存储方式,一个是sessionStorage,还有个localStorage, 两者的区别就是localStorage存的数据会一直保存,而sessionStorage的数据会在关闭窗口时丢失,所以要不是存储账号密码一类会一直使用的数据就不需要一直存储,这两个函数是用get和set的方法来存数据,所以我的存储本地步骤的代码如下。
window.sessionStorage.setItem("Step", 1);//前面的step是变量名,1是给step赋值
window.sessionStorage.setItem("enterprise_id", data[0].enterprise_id);//同上
console.log( window.sessionStorage.getItem("Step"));打印值
然后可以在刷新时从新加载js时,需要再判断一下这个变量是否有值。
if(sessionStorage.getItem("Step")==1)
{
$scope.filter.enterpriseStep = sessionStorage.getItem("Step");
$scope.othermodel.enterprise_id=sessionStorage.getItem("enterprise_id");
}
else{
$scope.filter.enterpriseStep = sessionStorage.getItem("Step");
}
刷新页面从新加载js时,可以判断到哪一步,就可以赋值到该步骤继续进行。



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐