已有detail.vue 和 list.nvue两个页面
list.nvue
const globalEvent = weex.requireModule('globalEvent');
export default {
....
created() {
globalEvent.addEventListener("plusMessage", e => {
console.log(e.data);
if (e.data.num) {
console.log(e.data.num);
}
});
},
}
....
detail.vue
我的逻辑是点击一个按钮,发送一条固定的信息给list.vue。
// 通知主页
var pages = getCurrentPages();
var page = pages[pages.length - 1];
var currentWebview = page.$getAppWebview();
plus.webview.postMessageToUniNView({
num: '111'
}, currentWebview.id);
但是我发现根本运行不了,而且list.nvue的打印是在我从list.vue跳转进detail.vue的时候打印的。
我想要的效果是,list.nvue一直在全局监控,一旦接收到信息,就执行相关操作。
相信官网例子的本意也是这样的,这样就可以变相地实现nvue的“onShow”事件。
但是我发现这个例子根本运行不起来,是哪里做错了呢?
1 个回复
lori
var page = pages[pages.length - 1];
这句话是获取了当前的页面
从你的描述看,你的当前页面是detail.vue,所以就无效了
你需要找到list.nvue对应的page,然后再post就可以了