vue实现todolist基本功能以及数据存储功能实例详解

 更新时间:2019年04月11日 11:04:03   作者:一条鱼i  
本文通过实例代码给大家介绍了vue实现todolist基本功能以及数据存储功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

实现todolist功能,具体实现如下:

可以实现对list添加、移除以及状态转变,其中添加功能既可以通过鼠标点击按钮实现,也可以通过回车键按下实现,通过使用v-model对checked的值进行双向绑定来完成状态的改变。在本次实际操作中仍存在一个小问题就是methods中函数调用,在完成数据存储前可以通过this.$options.methods.addFun();进行调用。

<div id="app">
       <input type="text" v-model="msg" @keydown="kaddFun($event)"/>
       <button @click="addFun()">添加</button>
       <br /><br />
       <h3>进行中</h3>
       <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="moveFun(key)">移除</button></li>
       </ul>
       <h3>已完成</h3>
       <ul>
         <li v-for="(item,key) in list" v-if="item.checked" ><input type="checkbox" v-model="item.checked"/> {{item.title}} <button @click="moveFun(key)">移除</button></li>
       </ul>
     </div>
     <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
     <script type="text/javascript">
       var app = new Vue({
         el:'#app',
         data:{
           msg:'',
           list:[]
         },
         methods:{
           addFun(){
             this.list.push({
               title:this.msg,
               checked:false
             }),
             this.msg = '';
             //存储数据
            localStorage.setItem('list',JSON.stringify(this.list))
           },
           kaddFun(e){
             if(e.keyCode==13){
                this.addFun();
             }  
           },
           moveFun(key){
             confirm("是否移除"+this.list[key].title+"?");
             this.list.splice(key,1);
             localStorage.setItem('list',JSON.stringify(this.list))
           },
           saveList(){
             localStorage.setItem('list',JSON.stringify(this.list))
           }
         },
         //生命周期函数  vue页面刷新就会触发的方法
        mounted(){
           //json字符串转成json对象
          var list = JSON.parse(localStorage.getItem('list'))
           //判断list是否存在
          if(list){
             //存在则将获取到的list保存刷新后的list中
            this.list = list;
           }
         }
       })
     </script>

封装操作localstorage本地存储方法

总结

以上所述是小编给大家介绍的vue实现todolist基本功能以及数据存储功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • vue pages 多入口项目 + chainWebpack 全局引用缩写说明

    vue pages 多入口项目 + chainWebpack 全局引用缩写说明

    这篇文章主要介绍了vue pages 多入口项目 + chainWebpack 全局引用缩写说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Vue 使用iframe引用html页面实现vue和html页面方法的调用操作

    Vue 使用iframe引用html页面实现vue和html页面方法的调用操作

    这篇文章主要介绍了Vue 使用iframe引用html页面实现vue和html页面方法的调用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • vue数据更新但视图(DOM)不刷新的几种解决办法

    vue数据更新但视图(DOM)不刷新的几种解决办法

    这篇文章主要给大家介绍了关于vue数据更新但视图(DOM)不刷新的几种解决办法,我们在开发过程中经常会碰到数据更新,但是视图并未改变的情况,需要的朋友可以参考下
    2023-08-08
  • Vue项目本地没有问题但部署到服务器上提示错误(问题解决方案)

    Vue项目本地没有问题但部署到服务器上提示错误(问题解决方案)

    一个 VUE 的项目在本地部署没有问题,但是部署到服务器上的时候提示访问资源的错误,遇到这样的问题如何解决呢?下面小编给大家带来了Vue项目本地没有问题但部署到服务器上提示错误的解决方法,感兴趣的朋友一起看看吧
    2023-05-05
  • vue歌曲进度条示例代码

    vue歌曲进度条示例代码

    这篇文章主要介绍了vue歌曲进度条demo,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • Node.js使用orm2进行update操作时关联字段无法修改的解决方法

    Node.js使用orm2进行update操作时关联字段无法修改的解决方法

    这篇文章主要给大家介绍了Node.js使用orm2进行update操作时关联字段无法修改的解决方法,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • vue.js实现照片放大功能

    vue.js实现照片放大功能

    这篇文章主要为大家详细介绍了vue.js实现照片放大功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Vue.js实现九宫格图片展示模块

    Vue.js实现九宫格图片展示模块

    这篇文章主要为大家详细介绍了Vue.js实现九宫格图片展示模块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Vue中定义全局变量与常量的各种方式详解

    Vue中定义全局变量与常量的各种方式详解

    Vue.js 如何添加全局常量或变量? 这是最近一个同事问的问题,发现很多朋友对这块不熟悉,所以下面这篇文章主要给大家介绍了关于Vue中定义全局变量与常量的各种方式,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • Vue引入jquery实现平滑滚动到指定位置

    Vue引入jquery实现平滑滚动到指定位置

    这篇文章主要介绍了Vue引入jquery实现平滑滚动到指定位置的效果,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-05-05

最新评论