父组件给子组件传值是把父组件这个值的引用地址给子组件了吗,那为何子组件改变,父组件不变, 如果不是,为何不能在子组件里修改他,还抛错误
已解决
悬赏分:0
- 解决时间 2021-11-27 05:04
点赞 0反对 0举报 0
收藏 0
分享 0
回答2
最佳
-
props禁止修改,直接修改会报异常;
引用类型,指向的确实是同一个地址;
如果要改,定义个新的变量,在watch中监听props,让新的变量等于props就行了,修改新的变量不会报异常;{
props:{fatherdata:''}, data(){ return{data:''} }, watch:{ fatherdata(){ this.data = this.fatherdata; } }, methods:{ change(){ this.data.a=1; } }
}
支持 0 反对 0 举报2021-11-26 08:18
-
值传递,如果值是引用类型比如函数,那么子组件可操作父方法,如果是是值类型则彼此独立,copy一份。本质上是值传递,只不过有的值是引用类型,有的值是值本身。
支持 0 反对 0 举报2021-11-26 08:49