vue2.0不允许子组件修改父组件传进来的值
Closed this issue · 3 comments
RegToss commented
请问在ratingselect.vue中的这种写法是否会报错?
select(type, event) {
if (!event._constructed) {
return;
}
this.$emit('select', type);
},
toggleContent(event) {
if (!event._constructed) {
return;
}
this.$emit('toggle');
}
food.vue中修改:
this.selectType = type;
this.onlyContent = !this.onlyContent;
cccyb commented
不会报错的,这是正常的父子组件通信,子组件并没有直接修改父组件的值,而是通过自定义事件。具体就是在子组件中使用$emit(eventName)
触发事件,然后再父组件中使用$on(eventName)
监听事件,然后在父组件中在监听到子组件触发的事件后,在父组件内修改值。
具体可以参考vue官方文档自定义事件一章节
RegToss commented
您的意思是子组件只是通知父组件修改这个值,修改的过程在父组件内定义?子组件内并没有修改真实数据?