热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

简单实现Vue的双向绑定

文章目录前言一、双向绑定是什么?二、实现双向绑定简易Demo1.编写Demo1.html2.编写Demo2.html前言学习完Vue.js的特性,双向绑定是在开发中

文章目录

  • 前言
  • 一、双向绑定是什么?
  • 二、实现双向绑定简易Demo
    • 1.编写Demo1.html
    • 2.编写Demo2.html




前言

学习完Vue.js的特性, 双向绑定是在开发中一个非常实用的点. 这次我以一个简易的Demo为切口, 谈一下我对双向绑定的理解.



一、双向绑定是什么?
要说起双向绑定, 必须先谈一下单向绑定。所谓的单向绑定就是,
把Model绑定到View,就是我们之前MVC实现的方式。当Model更新时,View也会自动更新。
那么双向绑定的意思就是,把Model绑定到View的同时,也将View绑定到Model上,程序员用代码更新Model时,View就会自动更新,反之,浏览器的用户更新了View,Model的数据也自动被更新了。

这样说起来,可能还不是很理解,看以下这个简易的Demo以及它的运行结果,就可以初步了解什么是双向绑定了。

二、实现双向绑定简易Demo

1.编写Demo1.html

代码如下:


<html lang&#61;"en" xmlns:v-on&#61;"http://www.w3.org/1999/xhtml">
<head><meta charset&#61;"UTF-8"><title>Titletitle>
head>
<body>
<script src&#61;"https://cdn.jsdelivr.net/npm/vue&#64;2.5.21/dist/vue.min.js">script><div id&#61;"lubenwei">输入的文本: <input type&#61;"text" v-model&#61;"message"> {{message}}div><script>var vm &#61; new Vue({el:"#lubenwei",data: {message: "卢本伟牛比"}});
script>
body>
html>

看上面的代码。代码构成非常简单&#xff0c;引入Vue.js之后&#xff0c;只有两步。
一是id为“lubenwei”的

标签&#xff0c; 一个是
对应的Script标签。
下图是代码运行后的结果
在这里插入图片描述

① 文本输入一些东西, 后面就跟着显示一些东西。这代表了&#xff1a;
(浏览器的用户更新了View&#xff0c;Model的数据也自动被更新了, 不信你看一下控制台&#xff0c;输入vm.message, 发现Model的数据确实被更新了&#xff09;
② 同时你在浏览器的控制台改动后面显示的东西, 输入框里面的东西也会变。这代表了&#xff1a;
&#xff08;当程序猿用代码更新了Model时&#xff0c;View也会自动更新&#xff09;
在这里插入图片描述
有点感觉了吗&#xff0c;这就是最简单的双向绑定的事例。
下面再写一个稍微复杂一点的。

2.编写Demo2.html

代码如下&#xff1a;


<html lang&#61;"en" xmlns:v-on&#61;"http://www.w3.org/1999/xhtml">
<head><meta charset&#61;"UTF-8"><title>Titletitle>
head>
<body>
<script src&#61;"https://cdn.jsdelivr.net/npm/vue&#64;2.5.21/dist/vue.min.js">script>
<div id&#61;"lubenwei2">下拉框:<select v-model&#61;"selected"><option>Aoption><option>Boption><option>Coption>select><span>{{selected}}span>
div>
<script>var vm2 &#61; new Vue({el:"#lubenwei2",data: {selected:&#39;默认值&#39;}});script>
body>
html>

这个代码和Demo1的实现场景差不多&#xff0c; 只不过是从文本框变成了下拉框。

看到这里是不是有点蒙 vue是怎么知道应该绑定option里面的值呢 还有上文的type&#61;“text”, vue是怎么判断的呢&#xff1f;
其实是自动的:

你可以用v-model 指令在表单

推荐阅读
  • 利用爬虫技术抓取数据,结合Fiddler与Postman在Chrome中的应用优化提交流程
    本文探讨了如何利用爬虫技术抓取目标网站的数据,并结合Fiddler和Postman工具在Chrome浏览器中的应用,优化数据提交流程。通过详细的抓包分析和模拟提交,有效提升了数据抓取的效率和准确性。此外,文章还介绍了如何使用这些工具进行调试和优化,为开发者提供了实用的操作指南。 ... [详细]
  • 本文探讨了利用Python编程语言开发自动化脚本来实现文件的全量和增量备份方法。通过详细分析不同备份策略的特点,文章介绍了如何使用Python标准库中的os和shutil模块来高效地管理和执行备份任务。此外,还提供了示例代码和最佳实践,帮助读者快速掌握自动化备份技术,确保数据的安全性和完整性。 ... [详细]
  • 本文详细介绍了 jQuery 的入门知识与实战应用,首先讲解了如何引入 jQuery 库及入口函数的使用方法,为初学者提供了清晰的操作指南。此外,还深入探讨了 jQuery 在实际项目中的多种应用场景,包括 DOM 操作、事件处理和 AJAX 请求等,帮助读者全面掌握 jQuery 的核心功能与技巧。 ... [详细]
  • 在MySQL中更新密码时,首先需要在DOS窗口中切换到mysql安装目录,并使用`--skip-grant-tables`参数启动MySQL服务,以跳过权限表验证。接着,在MySQL命令行中执行相应的SQL语句来设置新密码。完成密码更新后,重启MySQL服务以使更改生效。此外,对于电脑快捷方式的修改,可以通过右键点击快捷方式,选择“属性”,在弹出的窗口中进行路径或目标的修改,最后点击“应用”和“确定”保存更改。 ... [详细]
  • 为了确保数据库的高效运行,本文介绍了一种方法,通过编写定时任务脚本来自动清理 `order` 表中状态为 0 或为空的无效订单记录。该脚本使用 PHP 编写,并设置时区为中国标准时间,每 10 分钟执行一次,以保持数据库的整洁和性能优化。此外,还详细介绍了如何配置定时任务以及脚本的具体实现步骤。 ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • Webdriver中元素定位的多种技术与策略
    在Webdriver中,元素定位是自动化测试的关键环节。本文详细介绍了8种常用的元素定位技术与策略,包括ID、名称、标签名、类名、链接文本、部分链接文本、XPath和CSS选择器。每种方法都有其独特的优势和适用场景,通过合理选择和组合使用,可以显著提高测试脚本的稳定性和效率。此外,文章还探讨了在复杂页面结构中如何灵活运用这些定位技术,以应对各种挑战。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文深入解析了 jQuery 中用于扩展功能的三个关键方法:`$.extend()`、`$.fn` 和 `$.fn.extend()`。其中,`$.extend()` 用于扩展 jQuery 对象本身,而 `$.fn.extend()` 则用于扩展 jQuery 的原型对象,使自定义方法能够作为 jQuery 实例的方法使用。通过这些方法,开发者可以轻松地创建和集成自定义插件,增强 jQuery 的功能。文章详细介绍了每个方法的用法、参数及实际应用场景,帮助读者更好地理解和运用这些强大的工具。 ... [详细]
  • 本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。 ... [详细]
  • 本文详细探讨了 jQuery 中 `ajaxSubmit` 方法的使用技巧及其应用场景。首先,介绍了如何正确引入必要的脚本文件,如 `jquery.form.js` 和 `jquery-1.8.0.min.js`。接着,通过具体示例展示了如何利用 `ajaxSubmit` 方法实现表单的异步提交,包括数据的发送、接收和处理。此外,还讨论了该方法在不同场景下的应用,如文件上传、表单验证和动态更新页面内容等,提供了丰富的代码示例和最佳实践建议。 ... [详细]
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
author-avatar
小白
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有