美文网首页
.sync和v-model的区别

.sync和v-model的区别

作者: waterte | 来源:发表于2020-12-29 11:24 被阅读0次

    v-model:

    父组件上绑定v-model,相当于是子组件上 绑定 :value + @input事件(可以是其他事件,这里用input框来说)如下:

    子组件:<input :value='valueData' @input='valueInput'></input>

                    valueInput(e){ this.$emit('input',e.target.value) }

    父组件:<Zinput v-model='userInof.name'></Zinput>

    .sync:

    父组件上绑定 :value.sync,相当于是子组件上 绑定 :value + @input事件(可以是其他事件,这里用input框来说)如下:

    子组件:<input :value='valueData' @input='valueInput'></input>

                    valueInput(e){ this.$emit('update:value',e.target.value) }

    父组件:<Zinput :value.sync='userInof.name'></Zinput>

    区别:.sync可以修改子组件传递的属性名比如子组件传递的不是“value”这个属性名而是"foo",那   么$emit就可以写成this.$emit('update:foo',e.target.value);使用v-model不能修改

    使用场景:父组件传递的属性子组件想修改,sync修饰符的控制能力都在父级,事件名称也相对固  定update:xx

    相关文章

      网友评论

          本文标题:.sync和v-model的区别

          本文链接:https://www.haomeiwen.com/subject/esdfoktx.html