<template>
<view v-if="detail" class="message-detail">
{{detail.info}}
</view>
</template>
<script setup>
import {
getCurrentInstance,
ref
} from 'vue';
const {
proxy
} = getCurrentInstance();
const myEventChannel = proxy.getOpenerEventChannel();
const detail = ref();
console.log(myEventChannel)
myEventChannel.on('messageDetail', ({
data
}) => {
console.log(data);
detail.value = data;
});
</script>
<style lang="scss" scoped>
.message-detail {
padding: 30rpx;
}
</style>
这是路由跳转页面
2 个回复
DCloud_UNI_Anne
此问题已记录后续优化,已加分感谢反馈!
t***@qq.com
使用 nextTick 可以解决第二次不会触发的问题:
使用 onLoad 生命周期是为了兼容小程序,如果不需要发布小程序,可以不用这个生命周期。
[已删除] (作者)
我是开发h5的时候遇到这个问题的..没有使用onload
2022-08-08 14:06
t***@qq.com
回复 [已删除]: 用 nextTick 等下一次渲染执行就可以,全平台都兼容
2022-08-12 15:22