Vue---父子组件双向数据绑定(Vue .sync与v-model)

使用场景:

       vue的prop是单向下行绑定:父级prop的更新会带动子组件更新,但是反过来不行,如果需要更新父级数据变化,一般是子组件通过 $emit 发射自定义事件方法,父组件进行监听这个事件方法,从而实现更新数据。
       有些情况,我们需要对prop进行“双向绑定”,例如,封装了一个单选radio子组件,父组件传过来初始绑定的值,在radio值发生变化时,此时父组件绑定的值并未发生更新。为了在radio值发生变化时,父组件可以同时更新,这时可以用 .sync 或v-model解决这个问题。

.sync方式

      formRadio子组件:



父组件:

 

v-model方式

      父子组件同时使用v-model指令,父组件v-model绑定的值会传给子组件v-model绑定的props中的值。即代替了之前 :value.sync 方式传值,直接使用v-model传值。此时,子组件唯一不同的地方是更新父组件值的方式发生了变化。

formRadio子组件:



父组件:此时,父组件的传值方式变为了v-model传值方式。

 

你可能感兴趣的:(Vue2,.sync,Vue.sync,vue,父子组件v-model,父子组件双向数据绑定)