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 相关文章推荐
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
Feb 09 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
Nov 13 Javascript
js+css实现增加表单可用性之提示文字
Jun 03 Javascript
js闭包的用途详解
Nov 09 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 Javascript
vue组件实现文字居中对齐的方法
Aug 23 Javascript
vue v-model动态生成详解
Jun 30 Javascript
vue axios 简单封装以及思考
Oct 09 Javascript
写一个Vue Popup组件
Feb 25 Javascript
JS实现容器模块左右拖动效果
Jan 14 Javascript
JQuery插件tablesorter表格排序实现过程解析
May 28 jQuery
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
Jul 31 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 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
Drupal7 form表单二次开发要点与实例
2014/03/02 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
可兼容php5与php7的cURL文件上传功能实例分析
2018/05/11 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
filemanage功能中用到的lib.js
2007/04/08 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
自定义javascript验证框架示例【附源码下载】
2019/05/31 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
[00:10]DOTA2全国高校联赛速递
2018/05/30 DOTA
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
python获取当前日期和时间的方法
2015/04/30 Python
Python脚本文件打包成可执行文件的方法
2015/06/02 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
浅谈python requests 的put, post 请求参数的问题
2019/01/02 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
澳洲的服装老品牌:SABA
2018/02/06 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
局部内部类是否可以访问非final变量?
2013/04/20 面试题
护理专业毕业生自我鉴定总结
2014/03/24 职场文书
学生会竞聘书范文
2014/03/31 职场文书
商务英语专业求职信
2014/06/26 职场文书
2014年个人委托书范本
2014/10/13 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
事业单位考察材料范文
2014/12/25 职场文书
培训计划通知
2015/07/15 职场文书
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python