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-drawer-layout实现手势滑出菜单栏
Nov 19 Vue.js
Vue实现图书管理小案例
Dec 03 Vue.js
vue3使用vue-count-to组件的实现
Dec 25 Vue.js
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
Vue中引入svg图标的两种方式
Jan 14 Vue.js
vue 根据选择的月份动态展示日期对应的星期几
Feb 06 Vue.js
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
Vue图片裁剪组件实例代码
Jul 02 Vue.js
vue项目支付功能代码详解
Feb 18 Vue.js
vue中div禁止点击事件的实现
Apr 02 Vue.js
vue 实现弹窗关闭后刷新效果
Apr 08 Vue.js
vue 自定义组件添加原生事件
Apr 21 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
PHP EOT定界符的使用详解
2008/09/30 PHP
php快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
获取url中用&amp;隔开的参数实例(分享)
2017/05/28 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
vue多次循环操作示例
2019/02/08 Javascript
ES6如何用一句代码实现函数的柯里化
2020/01/18 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
解决keras backend 越跑越慢问题
2020/06/18 Python
美国滑板店:Tactics
2020/11/08 全球购物
班班通项目实施方案
2014/02/25 职场文书
“学雷锋活动月”总结
2014/03/09 职场文书
校庆标语集锦
2014/06/25 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
茶花女读书笔记
2015/06/29 职场文书
初三语文教学反思
2016/03/03 职场文书
SQL语句多表联合查询的方法示例
2022/04/18 MySQL