v-model语法糖-你知道是啥吗

168 阅读1分钟

语法糖: 对一个更加复杂的操作的封装,讨好vue程序员的。

  • 说白了就是把功能做的更好,让更多的程序员使用

为什么说 v-model是语法糖呢?

  • 每次在使用v-mode的时候,我们只知道v-mode可以用来双向绑定数据,更改数据视图也会同步更新,更改视图,数据也会同步.

  • 但是很少人知道,v-mode其实是语法糖,你在代码中可能会这样用

<input v-model="xxx" />

  • 其实 v-model也可以用在子组件上
v-model 在自己定义的组件上使用
<MyCom v-model="xxx" />

  • v-model用在这里也可以达到响应式的效果,其实它和下面的这种写法是等同的
上面的写法是快捷方式,它等价于如下复杂的写法:
<MyCom :value="xxx" @input="新值=>xxx=新值" />

  • v-model用在子组件上会做两件事:
  1. 向子组件传来一个名为value的属性

  2. 在子组件监听input事件,这个事件的回调中修改value所绑定的值

  • 从而达到数据和视图的双向绑定

敲黑板!!!

这里有一个面试点,高新常问

为啥要在自己的组件上用v-model?

  1. v-model写法比较简单(这一点毋庸置疑)

2.一个指令实现两个功能:子传父(input事件),父传子(value属性)。