盒子
盒子
文章目录
  1. v-model
    1. sync

组件

v-model

<my-component v-model="test" />
// 等价于:有些$event就是值,有些需要使用$event.target.value
<my-component :value="value" @input="value = $event" />
// 自定义组件中转 v-model
<my-component :value="value" @input="$emit('input', $event.target.value)" />

// 组件内容:自定义module名称
Vue.component('base-checkbox', {
model: {
prop: 'checked', // 字段改名:默认 value
event: 'change' // 事件改名:默认 input
},
props: {
checked: Boolean // 等价于 value
},
template: `
<input
type="checkbox"
v-bind:checked="checked"
v-on:change="$emit('change', $event.target.checked)"
>
`
})

sync

// 等价于 v-model 指定名称
<my-component :test.sync="test" />
// 展开写法
<my-component :test="test" @update:test="test = $event" />
// 组件更新事件
this.$emit('update:test', v);
支持一下
扫一扫,支持一下
  • 微信扫一扫
  • 支付宝扫一扫