zoukankan      html  css  js  c++  java
  • 第九课 代码封装localstorage

    <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 './model/storage.js';

        // console.log(storage);

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

                  // 第一个参数:自定义与取值方法对应即可
                  // var list=storage.get('data_block');
                  storage.set('data_block',this.list);
            },
            removeData(key){

                this.list.splice(key,1)

                storage.set('data_block',this.list);
            }
            , saveList(){

               storage.set('data_block',this.list);
            }

          },mounted(){   /*生命周期函数       vue页面刷新就会触发的方法*/

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

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

        }
    </script>


    <style lang="scss">

    .finish{


      li{
        background:#eee;
      }
    }

    </style>
  • 相关阅读:
    第1天|12天搞定Python网络爬虫,吃里爬外?
    第12天 | 12天搞定Python,让excel飞起来
    第11天 | 12天搞定Python,数据库操作
    第10天 | 12天搞定Python,文件操作(超详细)
    第4天 | 12天搞定Python,基础语法(下)
    第3天 | 12天搞定Python,用Eclipse编写代码
    第3天 | 12天搞定Python,用VSCode编写代码
    第3天 | 12天搞定Python,用PyCharm编写代码
    第2天 | 12天搞定Python,运行环境(超详细步骤)
    第1天 | 12天搞定Python,告诉你有什么用?
  • 原文地址:https://www.cnblogs.com/netflix/p/14626550.html
Copyright © 2011-2022 走看看