v-model 定制组件

`v-model` 默认使用 `value` 作为 prop,以及默认使用 `input` 作为监听事件,然而,对于某些类型的 input 元素
(例如 checkbox 和 radio),由于这些类型的 input 元素本身具有 [不同用法](https://developer.mozilla.org/en-
US/docs/Web/HTML/Element/input/checkbox#Value),可能会占用 `value` 特性。在这种情况下,使用组件
的 `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 属性就会进行更新。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 秦始皇一个统一了天下的男人,在统一了齐、楚、燕、韩、赵、魏六国后,又统一了六个国家的文字、货币以及度量衡。...
    1love阅读 225评论 0 0
  • 总结俩字儿:细节!!! 其实扔掉以下不忍直视的家居零碎物品,家居逼格真的可以上升好几倍。 【 一、垃 圾 桶 】 ...
    王娜_2cf9阅读 348评论 0 0
  • 感谢今天终于开始静下心来赶工作、看书。 感谢总账和我组同事之间今天的冲突和矛盾让我看到自己的失职和没有担当,也一并...
    欣_c498阅读 158评论 0 0
  • 参加熊猫书院十月读书计划已经一周了,这周读的这本书名字叫《如何阅读一本书》,听着书名还是蛮感兴趣的,想着这应...
    吴怡彤阅读 1,080评论 1 2

友情链接更多精彩内容