Props不是单向数据流吗?为何cartcontrol组件中,可以给this.food增加count属性
来源:17-17 cartcontrol组件(3)

RossRoma
2016-12-09
Vue官方指南 2.0
#单向数据流
prop 是单向绑定的:当父组件的属性变化时,将传导给子组件,但是不会反过来。这是为了防止子组件无意修改了父组件的状态——这会让应用的数据流难以理解。
另外,每次父组件更新时,子组件的所有 prop 都会更新为最新值。这意味着你不应该在子组件内部改变 prop 。如果你这么做了,Vue 会在控制台给出警告。
注意在 JavaScript 中对象和数组是引用类型,指向同一个内存空间,如果 prop 是一个对象或数组,在子组件内部改变它会影响父组件的状态。
以上是vue2.0官方文档中的描述,那么在子组件中修改props的属性,是否是官方推荐的方法呢?
写回答
3回答
-
2.0确实不推荐这么做了,1.0版本是可以的~
012016-12-10 -
ATWJSW
2017-02-01
上周看到这里,我也有同样的疑问。当时我的理解也是“在 JavaScript 中对象和数组是引用类型,指向同一个内存空间,如果 prop 是一个对象或数组,在子组件内部改变它会影响父组件的状态。”。
但Vue2.0中如果不推荐这样实现,那么cartcontrol中对food.count的改变如何回传给父组件呢?
112017-02-11 -
NeurotoxinVX
2016-12-10
Vue 2.0 中 props 改为了单向数据流,本课程是基于 Vue 1.0 的 ~所以 props 还可以使用双向绑定哦 ~
00
相似问题