讲解v-model实现表单元素的数据双向绑定|学习笔记

简介: 快速学习讲解v-model实现表单元素的数据双向绑定

开发者学堂课程【Vue.js 入门与实战讲解v-model实现表单元素的数据双向绑定】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/586/detail/8135


讲解v-model实现表单元素的数据双向绑定


目录

一、v-model实现表单元素

二、代码


一、v-model实现表单元素


这一节介绍v-model,它是实现双向数据绑定的一个指令。注意,只有这唯一的一个指令可以实现双向数据绑定。像之前学的v-bind和v-on,这些都不能实现双向数据绑定。这是唯一的一个双向数据绑定指令,以后会经常用到。

 

新建一个html。在data身上可以换一个message:msg:’大家都是好学生,爱敲代码,爱学习,爱思考,简直是完美,没瑕疵!’。然后在页面上建立标签h4,保存右键浏览。右键可以调看控制台检查。

image.png

当前vm实例是在浏览器内存里创建的,那么创建完毕之后在Window对象身上有一个vm这样的对象,它其实就是一个变量,所以肯定属于Window。

image.png

在data身上定义了这些message属性或者一些其他的字段,它都会帮助挂载到vm身上,在它内部去实现。所以在methods这里可以通过this.msg直接访问得到。

image.png 

既然能找到vm,而且vm身上还有个message属性,可以直接在控制台赋值:vm.msg = ‘修改了数据123’回车。可以看到修改了vm上的message,页面上相应的也就被修改了。


但是并不是双向数据绑定这是单向的。vm相当于这里面有一个model层,然后修改了model,控制台会自动的同步到model上去,所以这是单向的。


从M同步到页面V,这是单向的。那页面里面修改了,能不能再同步回vm里面去呢?

 

但是能在页面中修改因为这就是一个普通的h4标签,无法和用户发生交互行为。哪些东西能和用户进行交互呢?

 

有一个统一的名称叫做表单元素,注意表单元素是能够让用户进行交互的。那就再建一个input,为了绑定到data里需要添加v-bind。这个v-bind把message里面的值通过属性绑定交给了value。现在在页面进行修改,在控制台进行查看,发现并没有修改。

 

v-bind只能实现只能实现数据的单项绑定,从M自动绑定到V,无法实现数据的双向绑定。

image.png

image.png 

v-model可以实现:

<input type=”text” style=”width:100%;” v-model=”msg”>将来这个表单元素中的值将会双向绑定到data身上某个属性,绑定到message属性中去。

 

刷新浏览,接下来在页面修改123。可以看见发生改变,也就是说v-model除了能够实现数据从M渲染到V里去,也能实现V里面数据改变同步到M里。

image.png

image.png

这就是v-model实现双向数据绑定。

 

二、代码

<head>
<meta charset="UPr-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src=" . /lib/vue-2.4.0.js"></script>
</head>
<body>
<div id=”app”>
<h4>{{ msg }}</h4>
<!--v-bind 只能实现数据的单项绑定,从M自动绑定到V,无法实现数据的双向绑定-->
<!--<input type=”text” v-bind:value=”msg”style=”width:100%;”>-->
<!--使用 v-model指令,可以实现 表单元素和Model中数据的双向数据绑定-->
<!--注意:v-model只能运行在 表单元素中 -->
<!--input(radio,text,address,email……) select checkbox textarea -->
<input type=”text” style=”width:100%;” v-model=”msg”>
</div>
<script>
//创建vue 实例,得到ViewMode1
var vm= new vue ({
el: ‘#app’,
data: {
msg:’大家都是好学生,爱敲代码,爱学习,爱思考,简直是完美,没瑕疵!’
},
methods: {}
});
</script>
</body>
相关文章
|
数据采集 机器学习/深度学习 编解码
MMdetection框架速成系列 第02部分:整体算法流程+模型搭建流程+detection训练与测试核心组件+训练部分与测试部分的核心算法
众所周知,目标检测算法比较复杂,细节比较多,难以复现,而我们推出的 MMDetection 开源框架则希望解决上述问题。目前 MMdetection 已经复现了大部分主流和前沿模型,例如 Faster R-CNN 系列、Mask R-CNN 系列、YOLO 系列和比较新的 DETR 等等,模型库非常丰富,star 接近 13k,在学术研究和工业落地中应用非常广泛。
2450 0
|
机器学习/深度学习 算法 知识图谱
机器学习常用距离度量
机器学习常用距离度量
409 0
|
11月前
|
算法
基于梯度流的扩散映射卡尔曼滤波算法的信号预处理matlab仿真
本项目基于梯度流的扩散映射卡尔曼滤波算法(GFDMKF),用于信号预处理的MATLAB仿真。通过设置不同噪声大小,测试滤波效果。核心代码实现数据加载、含噪信号生成、扩散映射构建及DMK滤波器应用,并展示含噪与无噪信号及滤波结果的对比图。GFDMKF结合非线性流形学习与经典卡尔曼滤波,提高对非线性高维信号的滤波和跟踪性能。 **主要步骤:** 1. 加载数据并生成含噪测量值。 2. 使用扩散映射捕捉低维流形结构。 3. 应用DMK滤波器进行状态估计。 4. 绘制不同SNR下的轨迹示例。
|
消息中间件 存储 分布式计算
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
290 0
|
编译器 API C语言
【QT速成】半小时入门QT6之QT前置知识扫盲(一)
【QT速成】半小时入门QT6之QT前置知识扫盲(一)
975 0
|
监控 数据可视化 数据挖掘
数据看板制作工具评测:这6款工具能如何提升企业的数据分析效率?
本文介绍了6款数据看板制作工具,包括板栗看板、Tableau、Power BI、Qlik Sense、Google Data Studio和Looker,从功能、适用场景等方面进行了详细对比,旨在帮助企业选择最合适的工具以实现高效的数据可视化和管理决策。
|
传感器 物联网 大数据
物联网(IoT)技术与应用:塑造未来的智能化生活
【5月更文挑战第1天】物联网(IoT)技术整合传感器、嵌入式系统、云计算与大数据,连接智能设备,重塑生活与工作方式。应用涵盖智能家居、工业自动化、农业、智能城市及医疗健康,提升效率与便利性。然而,数据安全、设备兼容性及网络基础设施仍是挑战。随着5G和AI进步,IoT将在更多领域发挥潜力,驱动社会智能化转型,需关注技术挑战并加强创新。
1599 4
|
Kubernetes Cloud Native Java
阿里开源分布式限流框架 -Sentinel Go 0.3.0 发布,支持熔断降级能力
近期,Sentinel Go 0.3.0 正式发布,带来了熔断降级特性支持,可以针对 Go 服务中的不稳定调用进行自动熔断,避免出现级联错误/雪崩,是保障服务高可用重要的一环。
阿里开源分布式限流框架 -Sentinel Go 0.3.0 发布,支持熔断降级能力
|
Ubuntu 网络安全 Apache
物理机不能访问虚拟机kali的web服务解决方案记录
物理机不能访问虚拟机kali的web服务解决方案记录
768 0
|
前端开发 JavaScript
竞态问题:深入理解与解决方案
竞态问题:深入理解与解决方案
870 0