微信小程序-全局数据共享/页面间通信

一.全局数据共享

声明全局的变量,在app.js文件里

App({

  //全局共享的数据
  globalData:{
    token:''
  },

  //设置全局数据
  setToken(token){
    this.globalData.token=token
  }


})

使用 getApp() 获取全局App实例

//返回全局唯一的APP实例
const appInstance=getApp()

Page({

  login(){
    console.log(appInstance)
    appInstance.setToken('11111')
  }

})

二.页面间通信

上级页面使用回调函数参数eventChannel的emit方法发送数据给下级页面

使用events对象处理下级页面返回的数据

Page({
  //点击按钮触发事件处理函数
  handler(){
    wx.navigateTo({
      url: '/pages/list/list',
      events:{
        //key:被打开页面的发射的事件
        //value:回调函数
        currentEvent:(res)=>{
          console.log(res)
        }
      },
      success(res){
        //通过回调函数获取eventChannel并发射数据
        res.eventChannel.emit('myevent',{
          name:'tom'
        })
      }
    })
  }
})

下级页面使用eventChanel的on方法监听发送的数据,使用emit方法发送数据给上级页面

Page({
  onLoad(){
    //获取eventChannel事件
    const eventChanel = this.getOpenerEventChannel()

    //监听发射的事件
    eventChanel.on('myevent',(res)=>{
      console.log(res)
    })

    //也可以发数据
    eventChanel.emit("currentEvent",{age:10})
  }

})
相关推荐
DK开源圈子陪玩软件开发10 分钟前
行业圈子小程序 微信社区小程序圈子论坛社区小程序
微信·小程序
Jocelyn_书1 小时前
uniapp编译多端项目App、小程序,input框键盘输入后
小程序·uni-app·项目
尚学教辅学习资料2 小时前
基于微信小程序的公务员考试信息查询系统+LW示例参考
小程序·毕业设计·考试系统·java源码·公务员·信息查询
Jing_jing_X2 小时前
自研小程序-心情追忆
小程序
七夜zippoe2 小时前
微信小程序元素水平居中或垂直居中
微信小程序·小程序
程序媛_文乐3 小时前
微信小程序如何实现地图轨迹回放?
微信小程序·小程序
硬汉嵌入式8 小时前
H7-TOOL的LUA小程序教程第16期:脉冲测量,4路PWM,多路GPIO和波形打印(2024-10-25, 更新完毕)
开发语言·junit·小程序·lua
计算机学姐13 小时前
基于uniapp微信小程序的餐厅预约点餐系统
java·spring boot·微信小程序·小程序·java-ee·uni-app·tomcat
尘浮生13 小时前
Java项目实战II基于Spring Boot的美食烹饪互动平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·微信小程序·小程序·美食