uni.postMessage 调用机制
时间: 2023-11-04 09:00:34 浏览: 82
进程间用postMessage发消息 ,在实际开发中的实例,
4星 · 用户满意度95%
uni.postMessage是在uni-app中用于不同页面之间进行通信的方法。它可以将数据发送给其他页面,并在接收页面上触发onUniNViewMessage事件来接收数据。具体的调用机制如下:
1. 在发送数据的页面(nvue页面)中,使用uni.postMessage(data)方法发送数据,其中data只能为JSON格式的数据。
例如,在nvue页面的template部分中添加一个点击事件,当点击时调用uni.postMessage方法发送数据:
```
<template>
<div @click="test">
<text>点击页面发送数据</text>
</div>
</template>
<script>
export default {
methods: {
test(e) {
uni.postMessage({test: "数据",value:"数据"});
}
}
}
</script>
```
2. 在接收数据的页面(app.vue页面)中,使用onUniNViewMessage方法进行监听,当接收到数据时触发该事件,并可以通过e.data获取到发送的数据。
例如,在app.vue页面的script部分中添加onUniNViewMessage方法来监听接收数据的事件:
```
<script>
export default {
onUniNViewMessage: function(e){
console.log("App.vue收到数据")
console.log(JSON.stringify(e.data))
},
onLaunch: function() {
console.log('App Launch');
}
}
</script>
```
这样,当nvue页面中调用uni.postMessage方法发送数据后,app.vue页面中的onUniNViewMessage方法会被触发,并打印出接收到的数据。
阅读全文