vue父子通信,想要达到子传父时父同时修改子里的数据(不是子传来的数据)

子传父后,父接受并改变子里的某个数据,子通过watch监听这个改变数据报错:不能在子组件内部修改props中的show值。

子组件

父组件

props只可读,不可修改。可以把props赋值给data里一个变量这样改变这个变量即可

使用this.$emit传递给父组件值 让父组件进行监听从新赋值

首先你子组件里的值是props传过来的,不能直接修改,想修改的话,可以在子组件中通过自定义事件 $emit 触发父组件中值的修改,子组件中的值就会自动变成修改后的;

子组件props无法修改,大致理解你的需求,感觉没必要在子组件修改,交由父组件控制比较好,子组件仅根据props(active)做相关交互展示change事件emit给父组件,由父组件处理数据逻辑