做初中物理题目的网站,大连做外贸建站的专业公司,网站后台管理系统源码下载,广东网站开发公司电话v-model是Vue.js 3中用于实现双向绑定的重要指令#xff0c;双向绑定就是对于数据的修改会映射回UI组件上#xff0c;同时对于UI组件上数据的变更也会映射回底层数据当中#xff0c;v-model会根据控件的类型自动选取正确的方法来更新元素v-model底层实现的原理实际上是v-bin…v-model是Vue.js 3中用于实现双向绑定的重要指令双向绑定就是对于数据的修改会映射回UI组件上同时对于UI组件上数据的变更也会映射回底层数据当中v-model会根据控件的类型自动选取正确的方法来更新元素v-model底层实现的原理实际上是v-bind和v-on的结合首先使用v-bind为value属性绑定变量然后使用v-on绑定input事件并在事件回调中重新为value属性绑定的变量赋值
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
bodydiv idapp/divtemplate idmy-apph2{{ message }}/h2div classcontainerinput typetext classinput :valuemessage inputinputChangeinput typetext classinput v-modelmessage/div/templatescript src./js/vue.js/scriptscriptconst App {template: #my-app,data() {return {message: Hello World}},methods: {inputChange(event) {this.message event.target.value}}}Vue.createApp(App).mount(#app)/script
/body
/htmlstyle
.container {display: flex;flex-wrap: wrap;width: 100px;
}
.input {width: 100px;margin: 10px;
}
/style可以看到上面的两种input组件都能实现双向绑定的效果
v-model的修饰符
v-model指令支持使用修饰符来完成一些特殊的操作Vue.js 3常见的v-model修饰符如下
.lazy将输入内容的更新延迟到change事件触发时再进行而不是每次输入内容都进行更新
input typetext classinput v-model.lazymessage.number自动将输入内容转换为数字类型如果不用这个的话默认输入的都是字符串类型用这个之后数字会自动转换为数字类型
input typetext classinput v-model.numbermessage.trim去除输入内容的首位空格这个的效果是最中绑定到数据上的时候会自动去除首位的空格
input typetext classinput v-model.trimmessage可以用下面的代码整体验证一下
template idmy-apph2{{ message }} - {{ typeof message}}/h2div classcontainerinput typetext classinput :valuemessage inputinputChangeinput typetext classinput v-modelmessageinput typetext classinput v-model.lazymessageinput typetext classinput v-model.numbermessageinput typetext classinput v-model.trimmessage/div
/template