跨页面通信

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

接收消息

  1. <template>
  2. ...
  3. </template>
  4. <script>
  5. export default {
  6. pageMessage: function (data) {
  7. console.log('接收到的信息:', data.message);
  8. }
  9. }
  10. </script>

发送消息

示例

  1. const eeui = app.requireModule('eeui');
  2. eeui.postMessage({
  3. pageName: 'pageName_1',
  4. key1: 'val1',
  5. key2: 'val3',
  6. });

参数说明

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