Vue.js表单输入绑定

news/2024/11/25 21:56:38/

对于Vue来说,使用v-bind并不能解决表单域对象双向绑定的需求。所谓双向绑定,就是无论是通过input还是通过Vue对象,都能修改绑定的数据对象的值。Vue提供了v-model进行双向绑定。本章将重点讲解表单域对象的双向绑定方法和技巧。

10.1  实现双向数据绑定

对于数据的绑定,不管是使用插值表达式({{}})还是v-text指令,对于数据间的交互都是单向的,只能将Vue实例里的值传递给页面,页面对数据值的任何操作却无法传递给model。

MVVM模式最重要的一个特性,可以说是数据的双向绑定,而Vue作为一个MVVM框架,肯定也实现了数据的双向绑定。在Vue中使用内置的v-model指令完成数据在View与Model间的双向绑定。

可以用v-model指令在表单<input>、<textarea>及<select>元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但v-model本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。

v-model会忽略所有表单元素的value、checked、selected特性的初始值,而总是将Vue实例的数据作为数据来源。这里应该通过JavaScript在组件的data选项中声明初始值。

10.2  单行文本输入框

下面讲解最常见的单行文本输入框的数据双向绑定。

【例10.1】绑定单行文本输入框(源代码\ch10\10.1.html)。

<div id="app"><input type="text" v-model="message" value="hello world"><p>{{message}}</p>
</div>
<!--引入vue文件-->
<script src="https://unpkg.com/vue@next"></script>
<script>//创建一个应用程序实例const vm= Vue.createApp({//该函数返回数据对象data(){return{message:"红罗袖里分明见"}}//在指定的DOM元素上装载应用程序实例的根组件}).mount('#app');
</script>

在Chrome浏览器中运行程序,效果如图10-1所示;在输入框中输入“白玉盘中看却无”,可以看到下面的内容也发生了变化,如图10-2所示。

 

10.3  多行文本输入框

本节演示在多行文本输入框textarea标签中绑定message属性。

【例10.2】绑定多行文本输入框(源代码\ch10\10.2.html)。

<div id="app"><p>{{message}}</p><textarea v-model="message"></textarea>
</div>
<!--引入vue文件-->
<script src="https://unpkg.com/vue@next"></script>
<script>//创建一个应用程序实例const vm= Vue.createApp({//该函数返回数据对象data(){return{message:"轻衣软履步江沙"}}//在指定的DOM元素上装载应用程序实例的根组件}).mount('#app');
</script>

在Chrome浏览器中运行程序,效果如图10-3所示;在textarea标签中输入多行文本,效果如图10-4所示。

 

 本文节选自《Vue 3.x从入门到精通(视频教学版)》,内容发布获得作者和出版社授权。

 


http://www.ppmy.cn/news/75088.html

相关文章

java基于springboot协同过滤算法的网上图书商城推荐系统m44xq2

开发环境 开发语言&#xff1a;Java 框架&#xff1a;springboot 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器&#xff1a;谷歌浏览器功能介绍 Spring…

前端设计必须知道!7个超实用的工具推荐!

前端网络开发作为一个高薪行业&#xff0c;近年来的繁荣是业内人士所看到的。网络开发工具也在上升&#xff0c;市场上出现了越来越多的前端页面设计工具。但随着前端页面设计工具数量的增加&#xff0c;找到合适的前端页面设计工具来完成工作有时会让开发团队感到困惑。 本文…

位运算符及其相关操作详解

位运算符详解 前言&#xff1a;由于位运算符是直接对二进制数操作&#xff0c;因此对二进制、八进制、十六进制不甚了解的小伙伴建议先看这篇二进制、八进制、十六进制与十进制的相互关系&#xff0c;这样阅读本篇时将事半功倍 总览 位运算是对计算机存储的二进制序列的相应位进…

AndResGuard 源码解析

背景 抖音包体积优化提出的“键常量池裁剪”是基于腾讯的AndResGuard资源混淆之后做的进一步处理&#xff0c;也就是对resources.arsc文件的处理。而资源混淆&#xff0c;就是对resources.arsc文件进行修改。那么我们可以尝试基于这个思路&#xff0c;对AndResGuard插件源码进…

Linux INPUT 子系统实验

按键、鼠标、键盘、触摸屏都属于输入设备&#xff0c;针对这些设备linux内核提供了一个叫做input的子系统框架来处理输入时间&#xff0c;本质上还是字符设备&#xff0c;只是在此基础上加上了input框架&#xff0c;用户只需要负责上报输入事件&#xff0c;input核心层负责处理…

【考前熟悉】系统集成项目管理师-计算专题

前言 汇总计算专题&#xff1a;加权、沟通渠道、三点估算PERT、净现值、进度网络、挣值分析、预测技术 对照《计算公式汇总》 文章目录 前言计算专题1. 加权算法题2. 沟通渠道3. 三点估算4. 净现值5. 进度网络6. 挣值分析、预测技术 计算专题 1. 加权算法题 在对某项目采购供应…

QGC局域网内连接PX4模拟器JMAVSim

环境 QGroundControl 开源地面站系统; 代码地址: https://github.com/mavlink/qgroundcontrolPX4 开源飞控系统; 代码地址: https://github.com/PX4/PX4-Autopilot QGC可以直接下载运行包. PX4 请根据代码中的说明,进行环境的配置和运行. 通过代码去build地面站和PX4的步骤见官…

对话ChatGPT,大模型时代到来,文末可获得ChatGPT免费访问地址

文章目录 1. 你觉得大模型时代已经到来了吗&#xff1f;2. 大模型和以前的模型有什么区别&#xff1f;3. 列举一下你知道的大模型有哪些4. ChatGPT与传统的智能助手有什么区别&#xff1f;5. ChatGPT有什么优势和劣势&#xff1f;6. ChatGPT有哪些应用场景&#xff0c;请举例说…