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 相关文章推荐
jquery键盘事件使用介绍
Nov 01 Javascript
JQuery学习笔录 简单的JQuery
Apr 09 Javascript
js关闭当前页面(窗口)的几种方式总结
Mar 05 Javascript
JavaScript获取图片的原始尺寸以宽度为例
May 04 Javascript
js函数与php函数的区别实例浅析
Jan 12 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
Jul 12 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
Jul 13 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
Oct 11 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
Apr 18 Javascript
解决Mac安装thrift因bison报错的问题
May 17 Javascript
如何构建 vue-ssr 项目的方法步骤
Aug 04 Javascript
OpenLayers实现图层切换控件
Sep 25 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初学者(入门学习经验谈)
2010/10/12 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
2015/07/08 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
vue实现记事本功能
2019/06/26 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
pandas多级分组实现排序的方法
2018/04/20 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
工程总经理工作职责
2013/12/09 职场文书
经典婚礼主持词
2014/03/13 职场文书
新品发布会策划方案
2014/06/08 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
中文专业自荐书
2014/06/29 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
导游词之太原天龙山
2020/01/02 职场文书
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL