• vue模块化以及封装Storage组件实现保存搜索的历史记录


    <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:{
    
            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(){
    
               storage.set('list',this.list);
            }
    
          },mounted(){   /*生命周期函数       vue页面刷新就会触发的方法*/
    
              var list=storage.get('list');
    
              if(list){  /*注意判断*/
                this.list=list;
              }
          }
    
        }
    </script>
    
    
    <style lang="scss">
    
    .finish{
    
      
      li{
        background:#eee;
      }
    }
    
    </style>
    //封装操作localstorage本地存储的方法   模块化的文件
    
    
    // nodejs  基础
    //storage.js 
    
    
    var storage={
    
        set(key,value){
    
            localStorage.setItem(key, JSON.stringify(value));
        },
        get(key){
    
            return JSON.parse(localStorage.getItem(key));
        },remove(key){
            localStorage.removeItem(key);
        }
    
    }
    
    export default storage;
  • 相关阅读:
    提交订单的时候,实现拦截,登录成功后跳转回之前的页面;使用redis生成指定起始位置的id
    iOS Outlets Referencing Outlets
    iOS 常用控件 参数
    iOS UIImageView设置为圆形
    iOS Xcode个人常用插件
    iOS Xcode注释的几种使用方法
    MFC MSBDutyTable下载地址
    MFC HTTP访问URL
    MFC 程序以管理员权限运行
    MFC 打开文件夹选择框并获取文件夹路径
  • 原文地址:https://www.cnblogs.com/loaderman/p/11057740.html
Copyright © 2020-2023  润新知