原生input其实只是一个语法糖,:bind="value"与@change="value = $event.target.value"的结合。
自定义组件的时候的v-model默认监听change事件和绑定value 的prop。
你知道v-model的原理吗?说说看
原生input其实只是一个语法糖,:bind="value"与@change="value = $event.target.value"的结合。
自定义组件的时候的v-model默认监听change事件和绑定value 的prop。
v-model是个语法糖:
v-bind:value="value"
v-on:input="e => value = e.target.value"
因为V-model并不仅限于Form表单, 目前还支持更改事件名称和变量名称
model: {
prop: 'checked',
event: 'change'
}
原生input其实只是一个语法糖,:bind="value"与@change="value = $event.target.value"的结合。
自定义组件的时候的v-model默认监听change事件和绑定value 的prop。
v-model是默认使用组件的value
prop和input
事件
v-model
為一個語法糖,Vue
會默認使用一個名為 value
的 prop
,以及名為 input
的事件。
為了避免不同的 value 有不同的作用,現在可以使用下面的方式自訂義自己想要的 v-model 行為。
model: {
prop: 'checked',
event: 'change'
}
如果想要更改 checked
這個 prop
可以在 Vue
的 instance 中用以下這行程式發送 change
這個 event,並將目標的變動值傳給 checked
這個 prop
。
this.$emit('change', $event.target.value);
标签上使用```
<input type="text" :value="msg" @input="msg=$event.target.value">
{{msg}}
```学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天早上5点纯手工发布前端知识点(死磕自己,愉悦大家)。希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!欢迎大家关注3+1开源项目!希望大家每人去学习与思考!(不要为了谁而来,要为自己而努力!)