![8c4800474978e748e6423adc8fd94b51.png](https://img-blog.csdnimg.cn/img_convert/8c4800474978e748e6423adc8fd94b51.png)
在说vue 修饰符sync前,我们先看下官方文档:vue .sync 修饰符,里面说vue .sync 修饰符以前存在于vue1.0版本里,但是在在 2.0 中移除了 .sync 。但是在 2.0 发布之后的实际应用中,我们发现 .sync 还是有其适用之处,比如在开发可复用的组件库时。我们需要做的只是让子组件改变父组件状态的代码更容易被区分。从 2.3.0 起我们重新引入了 .sync 修饰符,但是这次它只是作为一个编译时的语法糖存在。它会被扩展为一个自动更新父组件属性的 v-on 监听器。
案例:
![1435658c04b50b675487907dfdbdfbd0.png](https://img-blog.csdnimg.cn/img_convert/1435658c04b50b675487907dfdbdfbd0.png)
说明:代码<my-comp :foo.sync="bar"></my-comp>会被扩展成<comp :foo="bar"@update:foo="val => bar = val"></comp>,就是一个语法糖。
vue 修饰符sync的功能是:当一个子组件改变了一个 prop 的值时,这个变化也会同步到父组件中所绑定。
在方方视频里,是替代成eventbus的$event,而不是“val => bar = val”,大概是类似的意思。
参考文章:
- https://www.jianshu.com/p/6b062af8cf01
- https://segmentfault.com/a/1190000010700521
![4a21b37c44dd66be12568748040b7b43.png](https://img-blog.csdnimg.cn/img_convert/4a21b37c44dd66be12568748040b7b43.png)