作者:sjxs198422 | 来源:互联网 | 2023-09-03 14:00
我在做仿饿了吗vue的项目,其中ratingselect模块的要修改food模块传进来的props值
我是这么做的:
food父模块:
html
js
1 2 3 4 5 6 7 8 9 10 11 12
| eventBus.$on('ratingtype.select', (type) => {
this.selectType = type;
this.$nextTick(() => {
this.scroll.refresh();
});
});
eventBus.$on('content.toggle', (onlyContent) => {
this.OnlyContent= onlyContent;
this.$nextTick(() => {
this.scroll.refresh();
});
}); |
ratingselect子模块
html
1 2 3 4 5 6 7 8 9 10 11
|
{{desc.all}}{{ratings.length}}
{{desc.positive}}{{positives.length}}
{{desc.negative}}{{negatives.length}}
只看有内容的评价
|
js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| methods: {
select(type, event) {
if (!event._constructed) {
return;
}
this.selectType = type;
eventBus.$emit('ratingtype.select', type);
},
toggleContent(event) {
if (!event._constructed) {
return;
}
this.OnlyContent= !this.onlyContent;
eventBus.$emit('content.toggle', this.onlyContent);
}
} |
实现是可以实现,但是vue2.0不允许子组件修改父组件的传值,怕子组件污染父组件,造成不可控。所以求解决方法
这是报错: