对vue的props实现双向数据流

2018-06-07  本文已影响42人  夏知更

1、 使用Prop需要遵守的规定

vue官网中规定,vue中的Prop是单向数据流

在vue中,组件中的Prop是单向绑定的,父组件的Prop的更新会向下流向到子组件中,但是反过来则不行。这样做是为了防止从子组件意外改变父组件的状态,从而导致应用的数据流向难以理解。


官网规定

如果在子组件中改变父组件的某个Prop值,控制台会发出警告,但是在实际的实践中,我们还是会遇见需要改变父组件Prop的情况。

2、实际中需要改变父组件Prop的场景

props: ['initialCounter'],
data: function () {
  return {
    counter: this.initialCounter
  }
}
props: ['size'],
computed: {
  normalizedSize: function () {
    return this.size.trim().toLowerCase()
  }
}

3、需要改变Prop时能实现双向数据流的方法

使用组件时,一开始绑定某Prop的值,在后续交互中,需要根据情况改变父组件中Prop的值,在这种场景下,我们要实现的是类似于数据双向绑定的功能,此时我们可以用到的方法有:

上一篇下一篇

猜你喜欢

热点阅读