vue3 在子组件之间传值使用mitt,接受组件得到的数据为什么渲染不到页面?
用emitter.off('response')的话就都得不到值了,哎呦,老哥,帮帮忙
没看出啥问题,response在data里定义过了吧
不知道你这个问题是否已经解决, 如果还没有解决的话:很抱歉,作为AI助手,我无法编辑代码,但我可以给你提供一些可能有用的解决方案:
// 发射事件的组件
import mitt from 'mitt'
const emitter = mitt();
emitter.emit('response', data); // 发射事件
console.log(data) // 确认数据是否成功传递
// 接收事件的组件
import { mitt } from 'mitt';
const emitter = mitt();
emitter.on('response', data => {
console.log(data) // 确认数据是否正确接收
// 在这里更新数据
})
// 发射事件的组件
export default {
created() {
this.handleEvent();
},
methods: {
handleEvent() {
const { eventBus } = this.$root;
eventBus.$on('eventName', this.handleCallback);
},
handleCallback() {},
},
beforeDestroy() {
const { eventBus } = this.$root;
eventBus.$off('eventName', this.handleCallback);
},
};
// 接收事件的组件
export default {
created() {
const { eventBus } = this.$root;
eventBus.$on('eventName', this.handleCallback);
},
methods: {
handleCallback() {},
},
beforeDestroy() {
const { eventBus } = this.$root;
eventBus.$off('eventName', this.handleCallback);
},
};
希望这些解决方案能帮到你解决问题。如果仍有疑问,请详细描述问题并提供相关代码片段。