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 相关文章推荐
Mootools 1.2教程 选项卡效果(Tabs)
Sep 15 Javascript
jQuery简单实现banner图片切换
Jan 02 Javascript
让IE8浏览器支持function.bind()方法
Oct 16 Javascript
JavaScript动态创建link标签到head里的方法
Dec 22 Javascript
js获取元素的外链样式的简单实现方法
Jun 06 Javascript
javascript如何创建对象
Aug 29 Javascript
js获取json中key所对应的value值的简单方法
Jun 17 Javascript
浅谈Vue.js中的v-on(事件处理)
Sep 05 Javascript
JavaScript之创意时钟项目(实例讲解)
Oct 23 Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 Javascript
vue 函数调用加括号与不加括号的区别
Oct 29 Javascript
JavaScript实现原型封装轮播图
Dec 27 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
一个PHP分页类的代码
2011/05/18 PHP
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
javaScript基础详解
2017/01/19 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
jQuery zTree树插件的使用教程
2019/08/16 jQuery
IDEA安装vue插件图文详解
2019/09/26 Javascript
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
python把1变成01的步骤总结
2019/02/27 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
毕业生优秀推荐信
2013/11/26 职场文书
个人自我评价和职业目标
2014/01/24 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
新学期教师寄语
2014/04/02 职场文书
活动总结格式范文
2014/04/26 职场文书
助残日活动总结
2014/08/27 职场文书
员工2014年度工作总结
2014/12/09 职场文书
装配车间主任岗位职责
2015/04/08 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
2019教师的学习计划
2019/06/25 职场文书
OpenCV-Python实现油画效果的实例
2021/06/08 Python
Java中API的使用方法详情
2022/04/06 Java/Android