首页 > 其他分享 >页面间通信

页面间通信

时间:2022-11-15 12:12:33浏览次数:62  
标签:function log EventChannel js 间通信 test data 页面

url 传参

index.js

路径后可以带参数。参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 & 分隔;如 'path?key=value&key2=value2'

wx.navigateTo({
url: './test/?id=' + id
})
test.js
Page({
    onl oad: function (options) {
        console.log(options);
    }
})

log 结果

{id: "IT_IOS_MAN"}

EventChannel 传参

如果一个页面由另一个页面通过 wx.navigateTo 打开,这两个页面间将建立一条数据通道:

  • 被打开的页面可以通过 this.getOpenerEventChannel() 方法来获得一个 EventChannel 对象;
  • wx.navigateTo 的 success 回调中也包含一个 EventChannel 对象。

这两个 EventChannel 对象间可以使用 emit 和 on 方法相互发送、监听事件。

index.js 发送
wx.navigateTo({
      url: './test',
      success: function (res) {
        res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'send from opener page' })
      }
    })
test.js 接收
Page({
  onl oad: function (option) {
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.on('acceptDataFromOpenerPage', function (data) {
      console.log(data)
    })
  }
})

log 结果

{ data: 'send from opener page' }

EventChannel 返回结果

index.js 接收
wx.navigateTo({
      url: './test',
      events: {
        acceptDataFromOpenedPage: function (data) {
          console.log(data)
        },
      },
    })

log 结果

 { data: 'send from opened page' }
test.js 发送
Page({
  onl oad: function (option) {
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.emit('acceptDataFromOpenedPage', { data: 'send from opened page' });
  }
})

标签:function,log,EventChannel,js,间通信,test,data,页面
From: https://www.cnblogs.com/IT-IOS-MAN/p/16892001.html

相关文章

  • 自定义页面
    [Page构造器]Page({/***页面的初始数据*/data:{},/***生命周期函数--监听页面加载*/onLoad:function(e){},/**......
  • vue 前端读取后端excel文件流在页面显示、导出
    前端读取后端excel文件流在页面显示、导出,主要是样式布局要完全不变,所以不能用a-table/el-table,采用三方luckyexcel安装依赖 npminstallluckyexcel<template><......
  • 使用router跳转页面出现空白页
    一、问题使用router进行页面跳转,路径已经跳转但是出现了空白页,并且显示以下提示  同时在空白页刷新之后能够出现二、解决办法1、出现问题的原因<transition>中的......
  • C# iText 7 切分PDF,处理PDF页面大小,添加水印
    C#iText7切分PDF,处理PDF页面大小,添加水印 一、itext我要使用itext做一个pdf的页面大小一致性处理,然后再根据数据切分出需要的pdf.iText的官网有关于它的介绍,http......
  • 如何在调试页面的时候清除页面的缓存?
    1.按F12,弹出下图2.点击右上角的三个点:3.点击settings  4.找到Network,下面的Disablecache(whileDevToolsisopen) ......
  • uniapp 微信小程序分享页面
    <buttonopen-type="share"v-bind:data-student="item"class="share">分享</button>指定按钮的类型open-type="share"分享需要的信息要使用v-b......
  • 第1章SpringMVC*概述-注册中央调度区,定义页面,修改视图解析器
    第1章SpringMVC概述1.1SpringMVC简介SpringMVC也叫Springwebmvc。是Spring框架的一部分,是在Spring3.0后发布的。1.2SpringMVC优点1.基于MVC架构......
  • 进程间通信-信号-pipe-fifo
    一、管道(pipe)1、管道的定义和特点管道是一种两个进程间进行单向通信的机制。因为管道传递数据的单向性,管道又称为半双工管道。管道的这一特点决定了器使用的局限性。管......
  • 进程间通信-信号-pipe-fifo
    进程间通信-信号-pipe-fifopipepipe只能用于有血缘关系的进程进行单向通信。调用pipe函数时在内核中开辟一块缓冲区(称为管道)用于通信,它有一个读端一个写端,然后通过fd......
  • 进程间通信-信号-pipe-fifo
    1.信号signal1、信号的名字和编号:每个信号都有一个名字和编号,这些名字都以“SIG”开头,例如“SIGIO”、“SIGCHLD”等等。信号定义在signal.h头文件中,信号名都定义为正......