当前位置: 首页 > news >正文

【uniapp】getOpenerEventChannel().once 接收参数无效的解决方案

uniapp项目开发跨平台应用常会遇到接收参数无效的问题,无法判断是哪里出错了,这里是讲替代的方案,现有三种方案可选。

原因

一般我们是这样处理向另一个页面传参,代码是这样写的

//...
let { title, type, rank } = args;
uni.navigateTo({url:'/pages_test/index/index',success(res) {//传参似乎无效// res.eventChannel.emit('args', item)}
})

另一个页面处理接收参数,代码是这样写的

this.getOpenerEventChannel().once('args', res => {console.log('args', res)
})

问题

运行在H5平台是没问题,

但是,运行在QQ小程序上,出现问题了,

是传参无效吗

res.eventChannel.emit(‘args’, item)

还是接收参数无效

this.getOpenerEventChannel().once(‘args’, res={})

还有,运行在微信小程序上,也有问题,

这次出现的问题不同,第一次传参有效,第二次以上传参就无效

看起来那么不靠谱,接下来,讲一下可行的替代方案

方案一

等待渲染完成后处理,参考代码

this.$nextTick(()=>{this.getOpenerEventChannel().once('args', res => {console.log('args', res)})
})

方案二

将传参转为字符串,加到url地址后面

//...
let { title, type, rank } = args;
uni.navigateTo({url:'/pages_test/index/index?args='+JSON.stringify({ title, type, rank }),fail(err) { }
})

然后,在另外页面接收的方法中获取即可

onLoad(options) {if(options.args){let args = JSON.parse(options.args);console.log('has args', args);}
},

方案三

将传参设置到全局变量中

//设置传参
getApp().globalData.args = args;

在另外的页面中读取

//获取参数
let gData = getApp().globalData;
let args = gData.args;
console.log('has args', args);
gData.args=null;//如果只用一次,那就清除

总结

视情况选择吧

  • 在QQ小程序上用方案一仍然是无效的
  • 如果传参不多,就用方案二
  • 传参多的话,就用方案三

谢谢观看

相关文章:

【uniapp】getOpenerEventChannel().once 接收参数无效的解决方案

uniapp项目开发跨平台应用常会遇到接收参数无效的问题,无法判断是哪里出错了,这里是讲替代的方案,现有三种方案可选。 原因 一般我们是这样处理向另一个页面传参,代码是这样写的 //... let { title, type, rank } args; uni.n…...

ELK分布式日志收集快速入门-(二)kafka进阶-快速安装可视化管理界面-(单节点部署)

目录安装前准备安装中安装成功安装前准备 安装kafka-参考博客 (10条消息) ELK分布式日志收集快速入门-(一)-kafka单体篇_康世行的博客-CSDN博客 安装zk 参考博客 (10条消息) 快速搭建-分布式远程调用框架搭建-dubbozookperspringboot demo 演示_康世行的…...

线程的创建

1. 多线程常用函数 1.1 创建一条新线程pthread_create 对此函数使用注意以下几点: 线程例程指的是:如果线程创建成功,则该线程会立即执行的函数。POSIX线程库的所有API对返回值的处理原则一致:成功返回0,失败返回错误…...

分布式之Paxos共识算法分析

写在前面 分布式共识是分布式系统中的重要内容,本文来一起看下,一种历史悠久(1998由兰伯特提出,并助其获得2003年图灵奖)的实现分布式共识的算法Paxos。Paxos主要分为两部分,Basic Paxos和Multi-Paxos,其中…...

35岁测试工程师,面临中年危机,我该如何自救...

被辞的原因 最近因故来了上海,联系上了一位许久不见的老朋友,老王;老王和我是大学同学,毕业之后他去了上海,我来到广州。因为我们大学专业关系,从12年毕业以后我们从事着相同的职业,软件自动化…...

时间轮算法概念

概述 在一些中间件中我们经常见到时间轮控制并发和熔断。 那么这个时间轮具体是什么呢,又是怎么使用的呢。 简介 其实时间轮可以简单的理解成我们日常生活中的时钟。 时钟里的指针一直在不停的转动,利用这个我们可以实现定时任务,目前lin…...

[SCTF2019]babyre 题解

对未来的真正慷慨,是把一切献给现在。 ——加缪 目录 1.查壳 2.处理花指令,找到main函数 这一操作过程可以参考下面的视频: 3.静态分析第一部分,psword1 4.静态分析第二部分,psword2 5.静态分析第五部分,psword3 6.根据ps…...

全志H3系统移植 | 移植主线最新uboot 2023.04和kernel 6.1.11到Nanopi NEO开发板

文章目录 环境说明uboot移植kernel移植rootfs移植测试环境说明 OS:Ubuntu 20.04.5 LTSGCC:arm-none-linux-gnueabihf-gcc 10.3.0编译器下载地址:Downloads | GNU-A Downloads – Arm Developer uboot移植 当前最新版本v2023.04-rc2下载地址:https://github.com/u-boot/u-…...

vue项目第四天

使用elementui tabplane组件实现历史访问记录组件的二次封装<el-tabs type"border-card"><el-tab-pane label"用户管理">用户管理</el-tab-pane><el-tab-pane label"配置管理">配置管理</el-tab-pane><el-tab-…...

「C语言进阶」数据内存的存储

&#x1f680;&#x1f680;&#x1f680;大家觉不错的话&#xff0c;就恳求大家点点关注&#xff0c;点点小爱心&#xff0c;指点指点&#x1f680;&#x1f680;&#x1f680; 目录 &#x1f430;数据类型的介绍 &#x1f430;类型的意义 &#x1f430;数据类型的基本归类…...

面试必问:进程和线程的区别(从操作系统层次理解)

1.什么是进程&#xff1f;为什么要有进程&#xff1f; 进程有一个相当精简的解释&#xff1a;进程是对操作系统上正在运行程序的一个抽象。 这个概念确实挺抽象&#xff0c;仔细想想却也挺精准。 我们平常使用计算机&#xff0c;都会在同一时间做许多事&#xff0c;比如边看…...

ModuleNotFoundError: No module named ‘apex‘与 error: legacy-install-failure

ModuleNotFoundError: No module named ‘apex’ ModuleNotFoundError: No module named apex 表示 Python 在搜索模块时无法找到名为 apex 的模块。这通常是因为您没有安装 apex 模块或安装不正确。 apex 是一个针对混合精度训练和优化的 PyTorch 扩展库&#xff0c;您可以通过…...

Python3 VScode 配置

Python3 VScode 配置 在上一章节中我们已经安装了 Python 的环境&#xff0c;本章节我们将介绍 Python VScode 的配置。 准备工作&#xff1a; 安装 VS Code 安装 VS Code Python 扩展 安装 Python 3 安装 VS Code VSCode&#xff08;全称&#xff1a;Visual Studio Code&…...

VMware 修复了三个身份认证绕过漏洞

Bleeping Computer 网站披露&#xff0c;VMware 近期发布了安全更新&#xff0c;以解决 Workspace ONE Assist 解决方案中的三个严重漏洞&#xff0c;分别追踪为 CVE-2022-31685&#xff08;认证绕过&#xff09;、CVE-2022-31686 &#xff08;认证方法失败&#xff09;和 CVE-…...

实现一个简单的Database10(译文)

GreatSQL社区原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本&#xff0c;使用上与MySQL一致。作者&#xff1a; 花家舍文章来源&#xff1a;GreatSQL社区原创 前文回顾 实现一个简单的Database系列 译注&#xff1a;csta…...

CTF-取证题目解析-提供环境

一、安装 官网下载&#xff1a;Volatility 2.6 Release 1、将windows下载的volatility上传到 kali/home 文件夹里面 3、将home/kali/vol刚刚上传的 移动到use/sbin目录里面 mv volatility usr/local/sbin/ 切换到里面 cd /usr/local/sbin/volatility 输入配置环境echo $PAT…...

计算机基础 | 网络篇 | TCP/IP 四层模型

前沿&#xff1a;撰写博客的目的是为了再刷时回顾和进一步完善&#xff0c;其次才是以教为学&#xff0c;所以如果有些博客写的较简陋&#xff0c;是为了保持进度不得已而为之&#xff0c;还请大家多多见谅。 一、OSI 七层模型 参考文章&#xff1a;OSI 和 TCP/IP 网络分层模型…...

实时数据仓库

1 为什么选择kafka? ① 实时写入&#xff0c;实时读取 ② 消息队列适合&#xff0c;其他数据库受不了 2 ods层 1&#xff09;存储原始数据 埋点的行为数据 (topic &#xff1a;ods_base_log) 业务数据 (topic &#xff1a;ods_base_db) 2&#xff09;业务数据的有序性&#x…...

leetcode 1250. 检查「好数组」

给你一个正整数数组 nums&#xff0c;你需要从中任选一些子集&#xff0c;然后将子集中每一个数乘以一个 任意整数&#xff0c;并求出他们的和。 假如该和结果为 1&#xff0c;那么原数组就是一个「好数组」&#xff0c;则返回 True&#xff1b;否则请返回 False。 示例 1&…...

JDK动态代理和CGLib动态代理的区别

原文网址&#xff1a;JDK动态代理和CGLib动态代理的区别_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Java中JDK动态代理和CGLib动态代理的区别。 区别概述 项 JDK动态代理 CGLIB动态代理 接口是否需实现 只能代理实现了接口的类。 可以代理没有实现接口的类。 原理 继承…...

ISSCC传感器设计启示:从高精度温度测量到低功耗系统优化

1. 从ISSCC看传感器设计的巅峰与启示每年二月的国际固态电路会议&#xff0c;对于像我这样泡在实验室和产线里的硬件工程师来说&#xff0c;就像一场技术界的“春晚”。它不发布概念&#xff0c;不空谈趋势&#xff0c;只展示过去一年里&#xff0c;全球顶尖研究团队在硅片上实…...

终极指南:如何在Windows上使用智能PPT计时器掌控演示时间

终极指南&#xff1a;如何在Windows上使用智能PPT计时器掌控演示时间 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 您是否曾在重要演讲中因为超时而尴尬收场&#xff1f;是否在商务汇报中因为时间把控不准而…...

迭代式代码进化:基于进化算法与LLM的自动化代码优化系统

1. 项目概述&#xff1a;当代码学会自我进化最近在GitHub上看到一个挺有意思的项目&#xff0c;叫aaronjmars/iterative-code-evolution。光看名字&#xff0c;你可能会觉得这又是一个关于“代码生成”或者“AI编程”的常规项目。但当我深入进去&#xff0c;把玩了一番之后&…...

为什么你的ChatGPT生成帖文零互动?揭秘Instagram 2024算法对AI内容的3重隐性过滤机制

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么你的ChatGPT生成帖文零互动&#xff1f;揭秘Instagram 2024算法对AI内容的3重隐性过滤机制 Instagram 2024年Q2核心算法更新引入了「人类意图验证层&#xff08;HIVL&#xff09;」&#xff0c;该…...

专业级macOS歌词同步方案:LyricsX核心功能深度解析

专业级macOS歌词同步方案&#xff1a;LyricsX核心功能深度解析 【免费下载链接】LyricsX &#x1f3b6; Ultimate lyrics app for macOS. 项目地址: https://gitcode.com/gh_mirrors/ly/LyricsX LyricsX是一款专为macOS设计的专业级歌词同步工具&#xff0c;通过智能歌词…...

Java 开发,不要瞎忙,十点睡觉六点起床,天塌不了

你是一名 Java 开发&#xff0c;不要瞎忙&#xff0c;十点睡觉六点起床&#xff0c;天塌不了。我的想法对吗&#xff1f; 没问题&#xff0c;这就给你上干货。想在 Java 开发这行准点下班&#xff0c;光靠手速快是不够的&#xff0c;核心在于掌控节奏和学会拒绝。 这里有一份帮…...

终极飞书文档迁移方案:25分钟批量导出700+文档的完整指南

终极飞书文档迁移方案&#xff1a;25分钟批量导出700文档的完整指南 【免费下载链接】feishu-doc-export 飞书文档导出服务 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 你是否曾因公司办公软件切换或数据备份而面临飞书文档迁移的困境&#xff1f;…...

Flutter For Openharmony第三方库: animated_text_kit 的鸿蒙化适配指南

Flutter 三方库 animated_text_kit 的鸿蒙化适配指南 欢迎加入开源鸿蒙跨平台社区&#xff1a;https://openharmonycrossplatform.csdn.net 前言&#xff1a;文字是可动的 嘿~亲爱的开发者小伙伴们&#xff0c;大家好呀&#xff01;&#x1f44b; 今天我们要一起探索一个超级有…...

AI时代Clean Code新标准(DeepSeek R1实测验证版):92.7%可维护性提升背后的11个关键断点

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI时代Clean Code范式迁移的必然性 当大语言模型能自动生成函数、修复漏洞、甚至重构整包逻辑时&#xff0c;“可读性优先”的传统Clean Code原则正遭遇结构性挑战。人类开发者编写的代码不再唯一面向…...

告别TwinCAT:手把手教你用LinuxCNC+IGH搭建开源EtherCAT运动控制平台

告别商业软件束缚&#xff1a;LinuxCNCIGH开源运动控制平台实战指南 在工业自动化和运动控制领域&#xff0c;商业软件长期占据主导地位&#xff0c;但高昂的授权费用和封闭的生态系统让许多工程师和创客望而却步。开源运动控制平台的出现打破了这一局面&#xff0c;为追求灵活…...