uniapp 页面跳转通信上下级页面互传

ops/2024/10/22 14:28:07/

第一种

//A页面跳转方法
xx(){uni.navigateTo({url: './olylis-cascader/demo'});
},
//A页面 用来回去B页面返回数据的方法
getValue(list){console.log(list,'B页面传递的数据')
}
----------------------------------------------------------
B页面
submit(){let pages = getCurrentPages()// 2. 上一页面实例// 注意是length长度,所以要想得到上一页面的实例需要 -2// 若要返回上上页面的实例就 -3,以此类推let prevPage = pages[pages.length - 2]// 3. 给上一页面实例绑定getValue()方法和参数(注意是$vm)// getValue是调用上个页面接收的方法prevPage.$vm.getValue(this.id)// 4. 返回上一页面uni.navigateBack({delta: 1 // 返回的页面数})
}

第二种

可指定页面跳转,跨级

//A页面 一个方法 发送/接收
insParticulars(){var _this = this; // 这里一定要注意, this失效uni.navigateTo({url: './particulars', //跳转指定页面events: {acceptDataFromOpenedPage: (data)=> { // B页面返回的对象console.log('....',data)},},success: (res) =>{ //发送的对象,res不用管 下面这个是固定方法,可以传一个对象res.eventChannel.emit('acceptDataFromOpenerPage', { 'isIns': true})}})},
--------------------------------------------------------------
//B页面
//一进来接收数据
onLoad() { //注意这是onLoad 里面var _this = this; // 注意this失效// 此处声明只是为了显示看起来简洁一点const eventChannel = this.getOpenerEventChannel();// 接收上个页面传递的数据// 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据eventChannel.on('acceptDataFromOpenerPage', function(data) {// 对数据做处理console.log(data.datalist)})
},
//B页面的提交数据 返回
submit() {const eventChannel = this.getOpenerEventChannel();// 通过监听上个页面的uni.navigateTo的events中定义的事件传递参数eventChannel.emit('acceptDataFromOpenedPage', {data: 'xxx返回'});// 关闭当前页返回上一页并触发acceptDataFromOpenedPage事件uni.navigateBack({delta: 1});	
},

http://www.ppmy.cn/ops/7432.html

相关文章

Flink学习(七)-单词统计

前言 Flink是流批一体的框架。因此既可以处理以流的方式处理,也可以按批次处理。 一、代码基础格式 //1st 设置执行环境 xxxEnvironment env xxxEnvironment.getEnvironment;//2nd 设置流 DataSource xxxDSenv.xxxx();//3rd 设置转换 Xxx transformation xxxDS.…

JDK8开始新增的日期和时间

1、为什么要用JDK8开始新增的时间表: 传统的时间类(Date,simpleDateFormat,Calender)存在如下问题: ①设计不合理,使用不方便,很多都被淘汰了 ②都是可变对象,修改后会…

解决程序化刷新EXCEL提示更新外部链接的弹窗问题

解决方法 【信任中心】-> 【消息栏】->勾选如下策略提示 2. 【信任中心】->【外部内容】->启用下面的三项链接 3. 【信任中心】->【宏设置】->启用所有宏

C++ 随机数

在许多情况下,需要生成随机数。关于随机数生成器,有两个相关的函数。一个是 rand(),该函数只返回一个伪随机数。生成随机数之前必须先调用 srand() 函数。 下面是一个关于生成随机数的简单实例。实例中使用了 time() 函数来获取系统时间的秒…

web安全学习笔记(10)

记一下第十四节课的内容。 一、MySQL学习 数据库基本结构:库——表——列——值 在本地打开navicat,连接数据库,新建一个liuyan库、liuyan库下新建一个member表: 在表里随意添加一些数据: 下面我们学习MySQL查询。新…

MATLAB求和函数

语法 S sum(A) S sum(A,“all”) S sum(A,dim) S sum(A,vecdim) S sum(,outtype) S sum(,nanflag) 说明 示例 S sum(A) 返回沿大小大于 1 的第一个数组维度计算的元素之和。 如果 A 是向量,则 sum(A) 返回元素之和。 如果 A 是矩阵,则 sum(A) 将…

今日刷三题(day4):简写单词+dd爱框框+除2!

题目一:简写单词 题目描述: 比如 “College English Test”可以简写成“CET”,“Computer Science”可以简写为“CS”,“I am Bob”简写为“IAB” 输入输出描述: 输入:一个复合单词 输出:输…

Compose 布局

文章目录 Compose 布局ColumnColumn属性使用 RowRow属性使用 BoxBox属性使用 ConstraintLayoutLazyColumnLazyColumn属性使用使用多类型使用粘性标题回到顶部 LazyRowLazyRow属性使用 LazyVerticalGridLazyVerticalGrid属性使用 Compose 布局 Column Compose中的”垂直线性布…