Vue sync修饰符
Vue里面的.sync修饰符是一个语法糖,它会被扩展为一个自动更新父组件属性的v-on监听器
示例代码:
:money.sync="total"
它等价于:
:money= "total" v-on:update:money = "total=$event"
当子组件需要更新money的值时,他需要触发一个更新事件:
@onclick="$emit('update:money',money-100)"
修饰符sync的功能是:当一个子组件改变了一个 prop 的值时,这个变化也会同步到父组件中所绑定。如果我们不用.sync,我们想做上面的那个弹窗功能,我们也可以props传初始值,然后事件监听,实现起来也不算复杂。这里用sync实现,只是给大家提供一个思路,让其明白他的实现原理,可能有其它复杂的功能适用sync