.sync和v-model的区别

本文探讨了Vue中.v-model和.sync修饰符的共同点和区别。它们本质上都是监听并更新值,但v-model主要用于输入组件的双向绑定,而.sync则用于状态的传递和更新。v-model适用于输入值和多选框等,.sync则适用于组件状态如loading、展开列表等。在特定情况下,v-model可替代.sync。
摘要由CSDN通过智能技术生成

两者共同点

v-model的本质

<!--v-model写法-->
<my-component type="text" v-model="value">
<!--展开语法糖后的写法-->
<my-component type="text"
  :value="value"
  @input="value = $event.target.value"
>
<!--
默认针对原生组件input事件,但是如果子组件定义了针对事件
model: {
        prop: "value",
        event: "update"
},
则编译为
-->
<my-component type="text"
  :value="value"
  @update="(val) => value = val"
>

.sync本质

<!--语法糖.sync-->
<my-component :value.sync="value" />
<!--编译后的写法-->
<my-component 
  :value="msg" 
  @update:value="(val) => value = val"
>

 两者本质都是一样,并没有任何区别: “监听一个触发事件”="(val) => value = val"。

细微之处的区别

        1.只不过v-m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值