window.localStorage

window.localStorage

      sessionStorage与localStorage

Web Storage实际上由两部分组成:sessionStorage与localStorage。

sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。

localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。



方法:

getAttribute() 获取指定的属性值。

load(object) 从 userData 存储区载入存储的对象数据。

removeAttribute() 移除对象的指定属性。

save(object) 将对象数据存储到一个 userData 存储区。

setAttribute() 设置指定的属性值。

localStorage:

方法:

localStorage.getItem(key):获取指定key本地存储的值

localStorage.setItem(key,value):将value存储到key字段

localStorage.removeItem(key):删除指定key本地存储的值


代码区:

知识点:window.localStorage.setItem 可用于将上一个页面的数据传送到下一个页面


App.controller('propModify',["$scope","propSer",function($scope,propSer){
    'use strict';
        //用于缓冲,为true的时候正在获取数据
        $scope.isShow= true;

        //将上个页面的参数带到下个页面.(window.localStorage.setItem("currentjobname",name);)
        $scope.currentJobName= window.localStorage.getItem("currentjobname");

        //获取后台数据(数据公共部分)
        $scope.getJobCommonConfig= function(){
            var param = "job":$scope.currentJobName
        };
        propSer.getJobCommonConfig(param,function(response){
            if(response.errorCode == '000000'){
                $scope.data = response.data;

                if(response.data.isdisabled == 'true'){
                    response.data.isdisabled = true
                }else{
                    response.data.isdisabled = false
                }
            }
        });

        //调用函数
        $scope.getJobCommonConfig();

        //获取后台数据
        $scope.getJobTailorConfig= function(){
            var param = "job":$scope.currentJobName
        };


        propSer.getJobTailorConfig(param,function(response){
            if(response.errorCode == '000000'){
                $scope.tailordata = response.data;

                if(response.data.isdisabled == 'true'){
                    response.data.isdisabled = true
                }else{
                    response.data.isdisabled = false
                }
            }
        });

        $scope.getJobTailorConfig();

        //获取到数据后,isShow的值为false,取消缓冲,显示页面
        $scope.isShow = false;

        //在页面修改参数,set的function不用主动调用,是在html里面ng-submit绑定,点击按钮后调用
        $scope.setJobSHPropConfig = function(){
            var param = {
                "job" : $scope.currentJobName,
                "isdisabled" : $scope.data.isdisabled,
                "minute" : $scope.data.minute,
                "hour" : $scope.data.hour,
                "dbf" : $scope.tailordata.dbf,
                "workspace" : $scope.tailordata.workspace
            };

            propSer.setJobSHPropConfig(param,function(response){

                $scope.data = response.data;
                if(response.errorCode == "000000"){
                    //弹出提示框,保存成功提示;swal提示框比alert观赏性更好,使用更灵活
                    swal({title:"保存成功",
                        type:"success",
                        showCancelButton:false,
                        closeOneConfirm:false
                    },
                function(){
                    window.location.reload();

                    });
                }else{
                    //保存失败提示
                    swal({title:"保存成功",
                        type:"success",
                        showCancelButton:false,
                        closeOneConfirm:false
                    },
                    function(){
                    window.location.reload();
            });
        
            }
                
            });
        };

}]);



知识点:

App.controller('autoTaskController',['$scope','taskSer',
    function($scope,taskSer){
        'use strict';
        //ajax请求后台,获取营销管理列表
        $scope.getFundTasks = function(){
            var param={
                "fund" : "基金"
            };

            taskSer.getFundTasks(param,function(response){
                //在获取的ajax对象上多加一个字段
                for(var i in response.data.taskdetail){
                    if(response.data.taskdetail[i].name.indexOf("官网")>-1){
                        response.data.taskdetail[i].url="#/app/auto/sseweb_list"
                    }else if(response.data.taskdetail[i].name.indexOf("股票")>-1){
                        response.data.taskdetail[i].url="#/app/auto/etfput_list"
                    }else if(response.data.taskdetail[i].name.indexOf("现金")>-1){
                        response.data.taskdetail[i].url="#/app/auto/shanghai_list"
                    }

                }

                    $scope.homeList=response.data.taskdetail;

                    $scope.$apply();

            });
        };

            $scope.getFundTasks();
            $scope.getCurrentJobName = function(name,url){
                window.location.href=url;
                window.localStorage.removeItem("currentjobname");   //清理缓存
                window.localStorage.setItem("currentjobname",name);

            }
    }
    ])


以下是网上看到的一段比较好的代码:设置缓存-----读取缓存------删除缓存

_history : { //缓存
             isLocalStorage:window.localStorage? true : false ,
             set :function(key,value){//设置缓存
                 if ( this .isLocalStorage){
                     window.localStorage.setItem(key,value);
                 } else {
                     var expireDays = 365; //失效时间
                     var exDate= new Date();
                     exDate.setTime(exDate.getTime()+expireDays*24*60*60*1000);
                     document.cookie=key + "=" + escape(value)+ ";expires=" + exDate.toGMTString();
                 }
             },
             read :function(key){//读取缓存
                 if ( this .isLocalStorage){
                     return window.localStorage.getItem(key);
                 } else {
                     var arr,reg= new RegExp( "(^| )" +key+ "=([^;]*)(;|$)" );
                     if (arr=document.cookie.match(reg)){
                         return unescape(arr[2]);
                     } else {
                         return null ;
                     }
                 }
             },
             del :function(key){//删除缓存
                 if ( this .isLocalStorage){
                     localStorage.removeItem(key);
                 } else {
                     var exDate = new Date();
                     exDate.setTime(exDate.getTime() - 1);
                     var read_val= this .read(key);
                     if (read_val!= null ) document.cookie= key + "=" +read_val+ ";expires=" +exDate.toGMTString();
                 }
             }
         },

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值