Vue3 v-model的用法

在Vue3.0中,将移除v-bind.sync修饰符使用带参数的v-model替代。

<MyComponent v-bind:title.sync="title" />

替代语法为:

<MyComponent v-model:title="title">

动机

在Vue2.x中,v-bind.sync可能会造成一些困惑,很多人认为它和v-bind一样,但实际上并不是这样的。

认为v-bind:title.sync="title"像一个普通的属性绑定带有一点额外的功能是错误的理解,因为双向绑定和单向绑定本质上是不同的,sync修饰符的工作原理实际上和v-model是相似的,他是一个创建双向绑定的语法糖。主要区别在于它可以在同一个组件上进行多个双向绑定,而不是仅限于一个。

应用示例

在元素上使用


<input v-model="xxx">


<input :model-value="xxx" @update:model-value="newValue => { xxx = newValue }">
<input v-model:aaa="xxx">

在组件上使用


<MyComponet v-model="xxx">


<MyComponent :model-value="xxx" @update:model-value="newValue => { xxx = newValue }">

<MyComponent v-model:aaa="xxx">


<MyComponent :aaa="xxx" @update:aaa="newValue => { xxx = newValue }">

你可能感兴趣的:(Vue3,前端)