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


Posted in Javascript onApril 11, 2019

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

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

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

<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实现todolist基本功能以及数据存储功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
js通过googleAIP翻译PHP系统的语言配置的实现代码
Oct 17 Javascript
JavaScript结合AJAX_stream实现流式显示
Jan 08 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
Nov 06 Javascript
JavaScript优化专题之Loading and Execution加载和运行
Jan 20 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
JavaScript 数组的深度复制解析
Nov 02 Javascript
Javascript中return的使用与闭包详解
Jan 11 Javascript
详解基于node的前端项目编译时内存溢出问题
Aug 01 Javascript
VUE element-ui 写个复用Table组件的示例代码
Nov 18 Javascript
JSONP原理及应用实例详解
Sep 13 Javascript
小程序自定义模板实现吸顶功能
Jan 08 Javascript
javascript实现数字时钟效果
Feb 06 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
Apr 11 #Javascript
使用Vue父子组件通信实现todolist的功能示例代码
Apr 11 #Javascript
详解jQuery设置内容和属性
Apr 11 #jQuery
js作用域和作用域链及预解析
Apr 11 #Javascript
关于js陀螺仪的理解分析
Apr 11 #Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 #Javascript
angular 实现同步验证器跨字段验证的方法
Apr 11 #Javascript
You might like
我的论坛源代码(二)
2006/10/09 PHP
PHP静态类
2006/11/25 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
php集成动态口令认证
2016/07/21 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
firefo xml 读写实现js代码
2009/06/11 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
详解Python中的序列化与反序列化的使用
2015/06/30 Python
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
python开发之for循环操作实例详解
2015/11/12 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
详解python中的模块及包导入
2019/08/30 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
HTML5 video进入全屏和退出全屏的实现方法
2020/07/28 HTML / CSS
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
小组合作学习反思
2014/02/18 职场文书
2014年三八妇女节活动方案
2014/02/28 职场文书
《四季》教学反思
2014/04/08 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
2015年团支书工作总结
2015/04/03 职场文书
关于践行三严三实的心得体会
2016/01/05 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
详解JAVA的控制语句
2021/11/11 Java/Android
Nginx虚拟主机的配置步骤过程全解
2022/03/31 Servers