理解vue中修饰符.sync

205 阅读1分钟

sync其实就是自动更新父组件属性的语法糖;当一个子组件改变了一个 prop 的值时,这个变化也会同步到父组件中所绑定的属性。 如果不使用sync,所写代码如下:

// 父组件
<HelloWorld :money=money @update:reduceMoney='money = $event'/>
// 子组件
<input type="button" value="我要花钱100" @click="$emit('update:reduceMoney', money - 100)"/>

使用.sync后,父组件可以简化很多代码,子组件需要把自定义的事件名称与prop名称一致;

// 父组件
<HelloWorld :money.sync=money />
// 子组件
<input type="button" value="我要花钱100" @click="$emit('update:money', money - 100)"/>

上面的代码和之前的代码实现的效果是一样的,所以我们使用修饰符sync就节省了很多代码;