[vue] 你知道v-model的原理吗?说说看

haizhilin2013
2019-07-02 14:38:24 星期二
vue
                    
                        
你知道v-model的原理吗?说说看
Comments per page
< Page 1 / 3 >
zyronon 2019-07-02 08:41:05

原生input其实只是一个语法糖,:bind="value"与@change="value = $event.target.value"的结合。
自定义组件的时候的v-model默认监听change事件和绑定value 的prop。

Myh-cs 2019-07-09 06:36:30

监听的事件 以及绑定的属性 可以通过model设置为其他的。

encountermm 2019-07-15 07:57:50

v-model只不过是一个语法糖而已,真正的实现靠的还是

  • v-bind:绑定响应式数据

  • 触发 input 事件 并传递数据 (核心和重点)

Gloomysunday28 2019-07-24 01:33:51

v-model是个语法糖:
v-bind:value="value"
v-on:input="e => value = e.target.value"
因为V-model并不仅限于Form表单, 目前还支持更改事件名称和变量名称
model: {
prop: 'checked',
event: 'change'
}

YuJinLei 2019-08-23 09:39:09

原生input其实只是一个语法糖,:bind="value"与@change="value = $event.target.value"的结合。
自定义组件的时候的v-model默认监听change事件和绑定value 的prop。

v-model是默认使用组件的valueprop和input事件

aver803bath5 2019-09-19 19:36:28

v-model 為一個語法糖,Vue 會默認使用一個名為 valueprop,以及名為 input 的事件。

為了避免不同的 value 有不同的作用,現在可以使用下面的方式自訂義自己想要的 v-model 行為。

model: {
  prop: 'checked',
  event: 'change'
}

如果想要更改 checked 這個 prop 可以在 Vue 的 instance 中用以下這行程式發送 change 這個 event,並將目標的變動值傳給 checked 這個 prop

this.$emit('change', $event.target.value);
tw19920521 2019-10-09 03:41:08

标签上使用```
<input type="text" :value="msg" @input="msg=$event.target.value">

{{msg}}

```
xiaXzhi 2019-10-31 02:52:56

v-model本质上是语法糖,即利用v-model绑定数据,其实就是既绑定了数据,又添加了一个input事件监听
image

wush12 2019-11-05 09:33:08

v-model是一个语法糖,对应组件内部实现的话,props传value,触发用$emit('input')

molifei 2019-12-04 08:40:27

v-model本质上是语法糖,其实就是既用v-bind:value绑定了数据,又用v-on:input添加了一个事件监听

Comments per page
< Page 1 / 3 >

学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天早上5点纯手工发布前端知识点(死磕自己,愉悦大家)。希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!欢迎大家关注3+1开源项目!希望大家每人去学习与思考!(不要为了谁而来,要为自己而努力!

【关注官方公众号】 每天4:30-5:00推送
【公众号推荐】 一起折腾前端算法
【微信学习群】 备注3+1