推荐使用 uni.$on , uni.$emit 的方式进行页面通讯,旧的通讯方式(uni.postMessage及plus.webview.postMessageToUniNView)不再推荐使用。
// 接收信息的页面
// $on(eventName, callback) event为页面名称 如 index.nvue 这里填index
uni.$on('page-popup', (data) => {
console.log('标题:' + data.title)
console.log('内容:' + data.content)
})
// 发送信息的页面
// $emit(eventName, data)
uni.$emit('page-popup', {
title: '我是title',
content: '我是content'
});
- 在vue里使用 plus.webview.postMessToUnivew(data,nvueId)发送消息, data为json格式(键值对的值仅支持string) nvueid 为nvue 所在webview 的id webview的id 获取方式参考 : $getAppWebview()
- 在nvue里引用globalEvent模块监听 plusMessage事件
调试需用自定义基座
在nvue中 可以使用下面的方法 代替 onshow的作用
created() {
// 监听当前窗口显示
const currentWebview = plus.webview.currentWebview()
currentWebview.addEventListener('show',e=>{
console.log('indexShow')
})
},