html 本地存储(localStorage and sessionStorage)

来源:互联网 发布:网络电视机什么牌子好 编辑:程序博客网 时间:2024/05/29 03:14

刚刚学习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时,可以判断到哪一步,就可以赋值到该步骤继续进行。

阅读全文
0 0
原创粉丝点击