浅尝vue双向绑定原理
程序员文章站
2022-06-22 16:49:16
v-model是一个语法糖v-model=v-on:input+v-bind:value我们可以用 v-model 指令在表单 input textarea select元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。v-model 会忽略所有表单元素的 value、checked、selected属性的初始值而总是将 Vue 实例的数据作为数据来源。通过...
v-model是一个语法糖
v-model=v-on:input+v-bind:value
- 我们可以用 v-model 指令在表单 input textarea select元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。
- v-model 会忽略所有表单元素的 value、checked、selected属性的初始值而总是将 Vue 实例的数据作为数据来源。通过js中的data声明初始值。
<input class="navbar-search_text" type="text" v-model="val"
placeholder="请输入您要搜索的内容" />{{val}}
<input class="navbar-search_text" type="text" v-bind:value="val"
placeholder="请输入您要搜索的内容" @input="inputChange"/>
data() {
return {
val:''
};
},
inputChange(e){
const {value}=e.detail//先拿到输入的值
console.log(value)//然后在这里显示出来
}
修饰符
.lazy
在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 (除了上述输入法组合文字时)。你可以添加 lazy 修饰符,从而转为在 change 事件_之后_进行同步:
<!-- 在“change”时而非“input”时更新 -->
<input v-model.lazy="msg">
.number
如果想自动将用户的输入值转为数值类型,可以给 v-model 添加 number 修饰符:
<input v-model.number="age" type="number">
这通常很有用,因为即使在 type=“number” 时,HTML 输入元素的值也总会返回字符串。如果这个值无法被 parseFloat() 解析,则会返回原始的值。
.trim
如果要自动过滤用户输入的首尾空白字符,可以给 v-model 添加 trim 修饰符:
<input v-model.trim="msg">
参考文档:Vue.js官网
本文均属于原创,如有侵权请联系删除
欢迎各位大佬批评指正
本文地址:https://blog.csdn.net/qq_45090740/article/details/107289923
上一篇: scrapy框架下第一只爬虫!
下一篇: 菜鸟的复习之路——HTML进阶篇(下)