vue中v-model是个啥?

231 阅读1分钟

v-model实际上只是一种语法糖,有时需要我们自定义去双向绑定数据,这时候就需要对v-model的实质有一定的了解了

当我们这样写时

<my-component v-model='something'></my-componment>

其实写的是这样一个内容

<my-component v-bind:value='something' @input='something = arguments[0]'></my-component>

所以当你想对一个子组件的内容和父组件的值双向绑定时,你要在子组件中接受value的参数,以及触发自定义事件input

props: {
    value: {
        default: ''
    }
}
this.$emit('input', value)