跨页面通信

TIP

平台差异 篇文中提到过,不同的 eeui 页面使用的是不同的执行环境,即使全局变量也是互相隔离的,然而我们可以使用以下方法实现跨页面通信的。

接收消息

<template>
	...
</template>

<script>
    export default {
        pageMessage: function (data) {
            console.log('接收到的信息:', data.message);
        }
    }
</script>

发送消息

示例

const eeui = app.requireModule('eeui');
eeui.postMessage({
    pageName: 'pageName_1',
    key1: 'val1',
    key2: 'val3',
});

参数说明

属性名 类型 必须 描述
pageName String - 页面名称(或tabName),留空表示发送给所有页面
... Object - 请根据需求填写其他参数名和参数值
  • 参数pageName名称是指 eeui.openPage 打开页面时的pageName属性值 或 <tabbar> 组件页面的tabName属性值;
  • 首页的pageName值默认为:firstPage