vue 子组件修改父组件的props的问题

来源:4-4 轮播图组件实现(上)

幕木_

2018-04-26

我发现个问题~vue不是说子组件不能修改父组件传过来的props值吗。。但是经我测试发现,这仅限于props为非数组及对象等引用类型数据,譬如字符串,数字等

如果props是对象的话,在子组件内修改props的属性的话,父组件是不会报错的

http://img.mukewang.com/szimg/5ae1278a000162dc07220640.jpg

http://img.mukewang.com/szimg/5ae1278a00014e6907550755.jpg

http://img.mukewang.com/szimg/5ae1278a00012fc206840775.jpg

 这是不是违背了作者的子组件不修改props的意图?或者说,如果是传递的props的话,是不是就可以在子组件中修改props,从而达到修改父组件data的目的?但是结果就如作者所说,会导致父组件的data混乱,而且难以捕捉。请问,遇到这种情况,该怎么有效而又可靠的解决掉? 


写回答

1回答

ustbhuangyi

2018-04-26

如果确实是需要子组件修改 props 的,建议加上 .sync 修饰符,一般情况一下在 data 定义一个变量去接收 prop,然后去修改 data 里的变量就好了。

1
3
幕木_
回复
ustbhuangyi
好的,我看下
2018-04-26
共3条回复

Vue2.0高级应用教学实战,开发企业级移动端音乐Web App

Vue.js高级知识应用大集合,实战企业级APP,教你搞定组件化开发。

5432 学习 · 3805 问题

查看课程