自定义组件的 v-model

Posted l8l8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义组件的 v-model相关的知识,希望对你有一定的参考价值。

Vue.component(base-checkbox, {
  model: {
    prop: checked,
    event: change
  },
  props: {
    checked: Boolean
  },
  template: `
    <input
      type="checkbox"
      v-bind:checked="checked"
      v-on:change="$emit(‘change‘, $event.target.checked)"
    >
  `
})

<base-checkbox v-model="lovingVue"></base-checkbox>

这里的 lovingVue 的值将会传入这个名为 checked 的 prop。同时当 <base-checkbox>触发一个 change 事件并附带一个新的值的时候,这个 lovingVue 的属性将会被更新。

注意你仍然需要在组件的 props 选项里声明 checked 这个 prop。 model是用来在v-model里去修改绑定的事件的。默认会绑定一个value属性。

以上是关于自定义组件的 v-model的主要内容,如果未能解决你的问题,请参考以下文章

vue3自定义组件使用v-model实现双向数据绑定

[Vue深入组件]:v-model语法糖与自定义v-model

Vue:从自定义组件派生的自定义组件中的 v-model 和输入事件

vue 自定义组件使用v-model

在 Vue 3 中,如何使自定义组件与 v-model 一起用于复选框组? [复制]

在自定义组件上使用时 v-model 和 .sync 有啥区别