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中音频wavesurfer.js的使用方法
Feb 20 Vue.js
vue3.0实现点击切换验证码(组件)及校验
Nov 18 Vue.js
详解Vue 的异常处理机制
Nov 30 Vue.js
vue实现表格合并功能
Dec 01 Vue.js
详解如何在vue+element-ui的项目中封装dialog组件
Dec 11 Vue.js
vue 动态创建组件的两种方法
Dec 31 Vue.js
jenkins自动构建发布vue项目的方法步骤
Jan 04 Vue.js
解决vue项目本地启动时无法携带cookie的问题
Feb 06 Vue.js
vue使用v-model进行跨组件绑定的基本实现方法
Apr 28 Vue.js
vue+element ui实现锚点定位
Jun 29 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
Aug 05 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
php函数之子字符串替换&amp;#65279; str_replace
2011/03/23 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
php + ajax 实现的写入数据库操作简单示例
2020/05/16 PHP
Javascript MD4
2006/12/20 Javascript
Convert Seconds To Hours
2007/06/16 Javascript
jQuery生成asp.net服务器控件的代码
2010/02/04 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
微信小程序-消息提示框实例
2016/11/24 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
javascript实现移动端触屏拖拽功能
2020/07/29 Javascript
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
python email smtplib模块发送邮件代码实例
2018/04/26 Python
python贪吃蛇游戏代码
2020/04/18 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
python实现可变变量名方法详解
2019/07/01 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
pycharm设置python文件模板信息过程图解
2020/03/10 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
推荐值得学习的12款python-web开发框架
2020/08/10 Python
Python eval函数介绍及用法
2020/11/09 Python
python实现学生通讯录管理系统
2021/02/25 Python
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
网络编辑求职信
2014/04/30 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
2014年节能工作总结
2014/12/18 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android
浅谈什么是SpringBoot异常处理自动配置的原理
2021/06/21 Java/Android
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python
php去除deprecated的实例方法
2021/11/17 PHP