Vue实现todo应用的示例


Posted in Vue.js onFebruary 20, 2021

背景

首先声明,本人并不是前端大神,看过我之前的内容应该知道,我擅长做后端,虽然前端略有涉略,但谈不上精通,连熟悉都勉强。写这个系列的目的仅仅只是出于好奇,好奇为何前几年还是JQuery一统天下的前端局面如今为何如此混乱,好奇好好的js是如何被玩的亲妈都不认识,之所以选择vue作为切入点,完全是因为vue简单,基本看下demo就能入门,既然vue作为目前流行的前端三大框架之一,那么只要了解vue是怎么实现的,是不是对前端稍微有了一点认识,于是在这种想法的促使下,有了这个系列。

这里模仿vue并不是指我把vue的源码看了一遍,看懂了然后模仿vue写,而是语法还是vue的语法,但是实现我自己想办法实现,当然可以参考vue,但以我前端的水平想完全看懂vue难度有点大,所以如果你想了解vue源码实现,这个系列不适合你,但如果你和我一样,稍微会点js,又对vue源码无从下手,但又想知道如何实现跟vue一样的功能,那么就跟着我一起,我们不看源码,自己琢磨实现一个简单的vue。

vue实现todo应用

本系列的思路是,用vue实现一个简单应用,应用中用到vue相关核心功能,然后代码保持不变,把vue.js文件替换成我们自己的实现,最终达到和vue一样的效果。这里用vue实现一个超简单的todo应用,代码如下:

<html>  
<head>  
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>  
</head>  
<body>  
    <div id="app">  
        <input v-model="newTodo"></input>  
        <button v-on:click="addTodo()">添加</button>  
        <div>输入的文字:{{newTodo}}</div>  
        <ul>  
            <div v-for="(todo,index) in todos" style="margin-bottom: 20px;">  
                <li style="float: left;margin-right: 20px;">  
                    {{todo.text}}  
                </li>  
                <button v-on:click="deleteTodo(index)">删除</button>  
            </div>  
        </ul>  
    </div>  
    <script>  
        var appx = new Vue({  
            el: '#app',  
            data: {  
                newTodo: '',  
                todos: []  
            },  
            methods: {  
                addTodo: function () {  
                    this.todos.push({ text: this.newTodo });  
                    this.newTodo = '';  
                },  
                deleteTodo: function (index) {  
                    this.todos.splice(index, 1);  
                }  
            }  
        })  
    </script>  
</body>  
</html>  

效果如下:

Vue实现todo应用的示例

  • 输入框值发生变化时,在输入框下方会显示输入的内容(仅仅为了演示效果,忽略实际意义)
  • 每输入一条新的todo,下面就会多一项列表项
  • 点击列表项右边删除按钮可以删除当前列表项

demo虽然简单,但包含了vue所有核心功能

  • 双向值绑定(v-model)
  • 响应式,值发生变化,绑定的节点值也同步变化
  • 事件响应(v-on:click)
  • 循环指令(v-for)

后面的章节,我们不引入vue.js文件,一步步实现同样的功能。

以上就是Vue实现todo应用的示例的详细内容,更多关于Vue实现todo应用的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
Vue实现购物小球抛物线的方法实例
Nov 22 Vue.js
vue使用exif获取图片旋转,压缩的示例代码
Dec 11 Vue.js
vue+element实现动态加载表单
Dec 13 Vue.js
vue3.0实现插件封装
Dec 14 Vue.js
vue二选一tab栏切换新做法实现
Jan 19 Vue.js
Vue 事件的$event参数=事件的值案例
Jan 29 Vue.js
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
idea编译器vue缩进报错问题场景分析
Jul 04 Vue.js
如何用vue实现网页截图你知道吗
Nov 17 Vue.js
vue中 this.$set的使用详解
Nov 17 Vue.js
使用vue判断当前环境是安卓还是IOS
Apr 12 Vue.js
基于vue的video播放器的实现示例
Feb 19 #Vue.js
vue登录页实现使用cookie记住7天密码功能的方法
Feb 18 #Vue.js
Vue包大小优化的实现(从1.72M到94K)
Feb 18 #Vue.js
Vue如何实现变量表达式选择器
Feb 18 #Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 #Vue.js
如何在 Vue 中使用 JSX
Feb 14 #Vue.js
Vue单页面应用中实现Markdown渲染
Feb 14 #Vue.js
You might like
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
python基础教程之自定义函数介绍
2014/08/29 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
快速了解Python相对导入
2018/01/12 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
Python和Go语言的区别总结
2019/02/20 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
python实现的发邮件功能示例
2019/09/11 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
招聘与培训专员岗位职责
2014/01/30 职场文书
小学节能减排倡议书
2014/05/15 职场文书
财务会计专业求职信
2014/06/09 职场文书
招标承诺书
2014/08/30 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android
Python可视化学习之matplotlib内置单颜色
2022/02/24 Python
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js