码迷,mamicode.com
首页 > 其他好文 > 详细

第八课 没有封装localstorage

时间:2021-04-08 13:13:21      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:取出   lan   his   v-for   key   ons   push   data   checked   

<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>

    export default {
      data () {
        return {

          todo:‘‘ ,
          list: []
        }
      },
      methods:{
        // var storage={
        //   set(key,value){
        //     localStorage.setItem(key, JSON.stringify(value));
        //   },
        //   get(key){
        //     return JSON.parse(localStorage.getItem(key));
        //   },
        //   remove(key){
        //     localStorage.removeItem(key);
        //   }
        // }
        doAdd(e){
              // console.log(e);
              if(e.keyCode==13){
                  this.list.push({
                    title:this.todo,
                    checked:false
                  })
              }

              localStorage.setItem(‘list‘,JSON.stringify(this.list))
        },
        removeData(key){

            this.list.splice(key,1)

            localStorage.setItem(‘list‘, JSON.stringify(this.list))
        }
        , saveList(){
           localStorage.setItem(‘list‘, JSON.stringify(this.list))
        }

      },
      mounted(){   /*生命周期函数       vue页面刷新就会触发的方法*/
          // 取出存储的数据,不会丢失本地的数据(重启工程也不会丢)
          var list=JSON.parse(localStorage.getItem(‘list‘));

          if(list){  /*注意判断*/
            this.list=list;
          }
      }

    }
</script>


<style lang="scss">

.finish{


  li{
    background:#eee;
  }
}

</style>

第八课 没有封装localstorage

标签:取出   lan   his   v-for   key   ons   push   data   checked   

原文地址:https://www.cnblogs.com/netflix/p/14626532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!