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

问题阐述:

javascript 复制代码
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来跨页面传参,只适合以下情况

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

解决方法

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

javascript 复制代码
a: uni.navigateTo({
        url: url,
        success: (res) => {
          res.eventChannel.emit("data", data);
        },
      });
b:  onLoad() {
    const eventChannel = this.getOpenerEventChannel();
    eventChannel.on("data", (res) => {
    
    });

  },
相关推荐
2501_915918415 小时前
移动端 HTTPS 抓包实战,多工具组合分析与高效排查指南
数据库·网络协议·ios·小程序·https·uni-app·iphone
雪芽蓝域zzs9 小时前
uni-app 将 base64 图片编码转为 Blob 本地文件路径
网络协议·udp·uni-app
星光一影11 小时前
陪诊陪检系统源码,陪诊小程序,陪诊APP,陪诊服务,家政上门系统,居家护理陪护源码
mysql·小程序·uni-app·php
Qlittleboy13 小时前
uniapp里 rich-text 里的img图片如何控制最大宽度
uni-app
阿奇__13 小时前
uniapp h5 app 小程序获取当前定位
小程序·uni-app
*小雪13 小时前
uniapp写H5授权登录及分享,返回到目标页面
开发语言·javascript·uni-app
一只程序熊13 小时前
uniapp uniim ios配置消息推送
uni-app
2501_9151063215 小时前
iOS性能调优的系统化实践,从架构分层到多工具协同的全流程优化指南(开发者深度版)
android·ios·小程序·架构·uni-app·iphone·webview
TE-茶叶蛋1 天前
Uniapp运行MuMu模拟器
uni-app
一人一程温一壶酒1 天前
微信小程序uniapp开发附源码——图片加水印
微信小程序·uni-app·notepad++