vueWeb前端之路让前端飞

vue在自定义组件中使用v-model及v-model的本质

2019-10-30  本文已影响0人  ComfyUI

v-model本质是什么?如何在我们写的自定义组件的使用v-model?

1、本质

<input v-model="test" />

// 就是相当于: 
<input :value="test" @input="value= $event.target.test" />

2、model选项

(1)由上面可以知道v-model的本质是什么,那么我们如何在自定义组件上使用v-model呢?首先要了解model这个选项。

允许一个自定义组件在使用 v-model 时定制 prop 和 event。默认情况下,一个组件上的 v-model 会把 value 用作 prop 且把 input 用作 event,但是一些输入类型比如单选框和复选框按钮可能想使用 value prop 来达到不同的目的。使用 model 选项可以回避这些情况产生的冲突。

(2)结合第一点的代码概括起来是个什么意思呢?就是说,本来默认是这样的:

(3)我们要在自定义组件上用啊,老是用默认的那岂不是限制了我的发挥?于是,vue在2.2.0版本中新增了一个model选项,可以让我们这样:

(4)还是有点蒙?没关系,实践才是检验真理的唯一标准嘛,我们来用实例跑一下,看看怎么用,不过在这之前,你得先理解父子组件中的传值、单项数据流是怎么一回事。

3、使用实例

实例效果.gif

其实本质上,v-modelv-bind以及v-on配合使用的语法糖。
默认情况下,一个组件上的 v-model 会把 value 用作 prop 且把 input 用作 event。

v-model的本质

4、其他

上一篇下一篇

猜你喜欢

热点阅读