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 19 Vue.js
详解vue中使用transition和animation的实例代码
Dec 12 Vue.js
Vue-router中hash模式与history模式的区别详解
Dec 15 Vue.js
通过vue.extend实现消息提示弹框的方法记录
Jan 07 Vue.js
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
vue-cli中实现响应式布局的方法
Mar 02 Vue.js
如何让vue长列表快速加载
Mar 29 Vue.js
开发一个封装iframe的vue组件
Mar 29 Vue.js
vue实现同时设置多个倒计时
May 20 Vue.js
vue+iview实现手机号分段输入框
Mar 25 Vue.js
Vue组件更新数据v-model不生效的解决
Apr 02 Vue.js
vue实现列表垂直无缝滚动
Apr 08 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极大的增强功能和性能
2006/10/09 PHP
PHP安全配置详细说明
2011/09/26 PHP
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
Laravel日志用法详解
2016/10/09 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
微信小程序列表时间戳转换实现过程解析
2019/10/12 Javascript
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
python中Apriori算法实现讲解
2017/12/10 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
2018/07/11 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
安踏广告词改编版
2014/03/21 职场文书
党员民主评议个人总结
2014/10/20 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
意向协议书
2015/01/27 职场文书
复兴之路展览观后感
2015/06/02 职场文书
有关三国演义的读书笔记
2015/06/25 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
python字典进行运算原理及实例分享
2021/08/02 Python