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 相关文章推荐
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
vue 数据操作相关总结
Dec 17 Vue.js
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 Vue.js
vue 页面跳转的实现方式
Jan 12 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
vue实现可拖拽的dialog弹框
May 13 Vue.js
详解Vue的options
May 15 Vue.js
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
Vue.js中v-for指令的用法介绍
Mar 13 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 Vue.js
Vue Element plus使用方法梳理
Dec 24 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
一个目录遍历函数
2006/10/09 PHP
基于mysql的论坛(5)
2006/10/09 PHP
php利用cookie实现访问次数统计代码
2011/05/19 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
详解PHP数组赋值方法
2015/11/07 PHP
Javascript 面向对象 命名空间
2010/05/13 Javascript
IE无法设置短域名下Cookie
2010/09/23 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
2016/08/05 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
决策树剪枝算法的python实现方法详解
2019/09/18 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
浅谈django channels 路由误导
2020/05/28 Python
pandas DataFrame运算的实现
2020/06/14 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
教师自我鉴定范文
2013/11/10 职场文书
采购部岗位职责
2013/11/24 职场文书
关于赌博的检讨书
2014/01/24 职场文书
竞选班长自荐书范文
2014/03/09 职场文书
小学生评语集锦
2014/04/18 职场文书
导师推荐信范文
2014/05/09 职场文书
新书发布会策划方案
2014/06/09 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
小学生节水倡议书
2015/04/29 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书