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

uniapp onLoad生命周期 uni.$on接受参数无法改变data数据解决办法

问题阐述:

a: uni.$emit('name',data)uni.navigateTo({url:b})b:onload(){
uni.$on('name',(res)=>{
this.name=res
console.log(this.name)
})}

用以上写法来跨页面传参会发现在b页面,虽然能够接受到参数但是赋值到data时候没生效,虽然控制台能够打印出数据,但是页面上面并不会动态改变。用setTimeout包裹也没有用
如果想要用$emit和 $on来跨页面传参,只适合以下情况

a页面->b页面 
a页面$on('name',()=>{
setTimeout(()=>{})
})  b页面$emit
也就是说$on监视器声明一定要在触发前才能用

解决方法

如果想要实现a->b传值可以这样

a: uni.navigateTo({url: url,success: (res) => {res.eventChannel.emit("data", data);},});
b:  onLoad() {const eventChannel = this.getOpenerEventChannel();eventChannel.on("data", (res) => {});},
http://www.lryc.cn/news/152121.html

相关文章:

  • Android Camera开发入门(4):USB/UVC Camera的使用
  • Java网络爬虫——jsoup快速上手,爬取京东数据。同时解决‘京东安全’防爬问题
  • 外观模式:简化复杂子系统的访问与使用
  • 代码随想录day38|509. 斐波那契数70. 爬楼梯746. 使用最小花费爬楼梯
  • UE5 C++ UGameInstance 功能、作用及应用
  • NodeJs-http模块
  • 翻译句子 前面的路是非常狭窄的 不能翻译成 the ahead of road is narrow 的原因
  • NTT功能与实现
  • Flutter(九)Flutter动画和自定义组件
  • 【python】可视化
  • C++继承多接口,调用虚函数跳转到错误接口的虚函数的奇怪问题
  • C++:日期类
  • c++ 学习之 构造函数的使用
  • 算法通关村15关 | 超大规模数据场景常见问题
  • qemu编译与使用
  • bazel远程构建(Remote Execution)
  • uniapp 微信小程序仿抖音评论区功能,支持展开收起
  • js:创建一个基于vite 的React项目
  • 论文阅读_医疗知识图谱_GraphCare
  • Android 蓝牙开发( 四 )
  • 涂鸦智能携手亚马逊云科技 共建“联合安全实验室” 为IoT发展护航
  • Oracle21C--Windows卸载与安装
  • 关于 MySQL、PostgresSQL、Mariadb 数据库2038千年虫问题
  • Linux - Docker 安装使用 常用命令 教程
  • AtCoder Beginner Contest 318 G - Typical Path Problem 题解
  • 21.4 CSS 盒子模型
  • MybatisPlus入门
  • 飞腾平台芯片测试固件(SFW)和开机启动log
  • 【大数据实训】基于Hive的北京市天气系统分析报告(二)
  • WPF列表样式