Vue的组件间通信并不是双向绑定的 子组件向父组件通信需要emit。
Vue 中 sync的作用
...
<childComponent :a.sync = 'b'>
<childComponent />
...
此时子组件有一个prop a
父组件有一个data b
子组件中emit('update:a',...args)的时候,
父组件的data b就会同步变化
当父组件的data b变化的时候 子组件的prop a 就监测到了变化
实现了父组件中数据b 和 子组件prop a的双向绑定。
如果没有这个语法糖
需要写
...
<childComponent @update:a='(val )=>(b = val)' :a='b' >
<childComponent />
...
子组件emit('update:a',...args) 的时候
会引发父组件中 data b的变化
如果父组件中data b发生变化,子组件的prop a会监测到变化