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 相关文章推荐
关于document.cookie的使用javascript
Apr 11 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
Dec 17 Javascript
js获取某元素的class里面的css属性值代码
Jan 16 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
Feb 13 Javascript
基于jquery实现的可编辑下拉框实现代码
Aug 02 Javascript
js命名空间写法示例
Dec 18 Javascript
JQuery实现的按钮倒计时效果
Dec 23 Javascript
在JavaScript中使用JSON数据
Feb 15 Javascript
简介BootStrap model弹出框的使用
Apr 27 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
Jul 12 Javascript
JS获取指定月份的天数两种实现方法
Jun 22 Javascript
Vue发布项目实例讲解
Jul 17 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
Zend 输出产生XML解析错误
2009/03/03 PHP
简单的PHP留言本实例代码
2010/05/09 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
Laravel 5.3 学习笔记之 配置
2016/08/28 PHP
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
JavaScript闭包与作用域链实例分析
2019/01/21 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
如何使用 vue-cli 创建模板项目
2020/11/19 Vue.js
Python 元类使用说明
2009/12/18 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
python中类的属性和方法介绍
2018/11/27 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
python编程进阶之异常处理用法实例分析
2020/02/21 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
旅游专业职业生涯规划范文
2014/01/13 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
黄埔军校观后感
2015/06/10 职场文书
Python 用户输入和while循环的操作
2021/05/23 Python
Python如何让字典保持有序排列
2022/04/29 Python