Vue sync修饰符

76 阅读1分钟

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