浅析 Vue 中的 .sync 修饰符用途

248 阅读1分钟

在官方文档:vue .sync 修饰符,了解到 2.3.0 起 Vue 新增了 .sync 修饰符,但是它只是作为一个编译时的语法糖存在,它会被扩展为一个自动更新父组件属性的 v-on 监听器。

代码示例如下:

<Child :money.sync="total" />

扩展后如下:

<Child :money="total" v-on:update:money="total = $event" />

当子组件需要更新 money 的值时,它需要显式地触发一个更新事件:

<button @click="$emit('update:money', money - 100)"></button>

总结修饰符 .sync 的功能:

  • 代码<Child :money.sync="total" />会被拓展为<Child :money="total" v-on:update:money="total = $event" />,子组件利用$emit('update:money', money-100)向父组件传递事件,updata:money为事件名,money-100为事件,父组件通过 $event 来接受事件, .sync 就是一个语法糖