一、关于vue中watch的认识
我们要监听一个属性的的变化就使用watch一般是父组件传递给子组件的时候
•1、常见的使用场景
•2、如果要一开始就执行
•3、深度监听(数组、对象)
二、关于子组件修改父组件属性认识
在vue2.0+ 后不再是双向绑定,如果要进行双向绑定需要特殊处理。
[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead,use a data or computed property based on the prop's value. Prop being mutated: "你修改的属性名"
•1、通过事件发送给父组件来修改
添加
...
methods: {
add() {
// 直接把数据发送给父组件
this.$emit('update',this.book);
this.book = '';
},},**在父组件中**
•2、使用.sync 来让子组件修改父组件的值(其实是上面方法的精简版)
属性后面加上.sync**
{{word}}
•3、在子组件中拷贝一份副本
required: false,data() {
return{
copyCheckModalGroup: this.checkModalGroup,// 选中的
}
},methods: {
// 一个一个的选择
checkAllGroupChange(data) {
// 把当前的发送给父组件
this.$emit('updata',data);
},watch: {
checkModalGroup(newVal,oldVal) {
this.copyCheckModalGroup = newVal;
}
}
}
**父组件中直接更新传递给子组件的数据就可以**
...
// 更新子组件数据
roleCheckUpdata(data) {
this.roleGroup = data;
},...
总结
以上所述是小编给大家介绍的vue中如何让子组件修改父组件数据。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
原文链接:https://www.f2er.com/vue/31904.html