H5 localstorage本地緩存數據的封裝以及在vue中的使用


vue中常用的 每次增加數據   要緩存

                    每次刪除數據也要緩存

 storage.js 文件

然后某個頁面需要本地存儲,就需要用 import引入:import storage from './storage.js'

App.vue頁面:

 

<template>

 


<div id="app">

<input type="text" v-model='todo' @keydown="doAdd($event)" />

<hr>
<br>

 

<h2>進行中</h2>

 

<ul>

 

<li v-for="(item,key) in list" v-if="!item.checked"> //添加一個改變的事件
<input type="checkbox" v-model="item.checked" @change="saveList()" /> {{item.title}} -- <button @click="removeData(key)">刪除</button>
</li>
</ul>

 

<br>
<br>
<h2>已完成</h2>

 

 

 

<ul>
<li v-for="(item,key) in list" v-if="item.checked">    //添加一個改變的事件
<input type="checkbox" v-model="item.checked" @change="saveList()" /> {{item.title}} -- <button @click="removeData(key)">刪除</button>
</li>
</ul>
</div>
</template>

 

<script>

 


import storage from './storage.js';

 

// console.log(storage);

 

export default {
data () {
  return {

    todo:'' ,
    list: []
  }
},
methods:{

 

  doAdd(e){
    // console.log(e);
    if(e.keyCode==13){
      this.list.push({
        title:this.todo,
        checked:false
      })
      }

 

  storage.set('list',this.list);   //添加數據要緩存
  },
  removeData(key){

 

    this.list.splice(key,1)

    storage.set('list',this.list);  //刪除數據要緩存
  },
  saveList(){                //change事件

 

    storage.set('list',this.list);  //要緩存
  }

 

},

//獲取緩存數據

mounted(){ /*生命周期函數 vue頁面刷新就會觸發的方法*/  mounted 生命周期在載入之后就加載數據

 

  var list=storage.get('list');

 

  if(list){ /*注意判斷*/ 建議先判斷緩存的數據存不存在
    this.list=list;

//或者:this.list=storage.get('list')
  }
}

 

}
</script>

 


<style lang="scss">

 

.finish{

 


li{
background:#eee;
}
}

 

</style>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM