小程序之间的带参数跳转

2019-10-15  本文已影响0人  MarkName

场景: 小程序A的某个页面, 带参数跳到小程序B
官网有胶带, 说A的app.json里要配置navigateToMiniProgramAppIdList, 还不能超过10个.

//小程序A, app.json
"navigateToMiniProgramAppIdList":[
      "appid"  //B小程序的appid
    ]

比如, A里面有个页面叫 demo

//小程序A, demo.wxml
<view bindtap="to_B"></view>

//小程序A, demo.js
to_B:function(){
  wx.navigateToMiniProgram({
      appId: 'appid',   //B小程序的appid
      path: 'pages/comeHere/comeHere',   //B的一个页面,  反正不是首页  ,  path后面也可以带参数跳转, 不过取值方法就不一样了. 
      extraData: {   //参数写在这个对象里面
        id: this.data.id
      },
      envVersion:'trial',    //跳到B的体验版,  不写这行就是默认跳正式版, 官网也有胶带
      success(res){
        console.log(res)
      }
    })
},

官网还胶带了, 在 App.onLaunch,App.onShow 中获取到这份数据. 所以B小程序里面就需要先在app.js里取值了.

//小程序B, app.js,   在onLaunch或onShow里都行
globalData: {
  id: ''
}
onLaunch: function(options){      //传入options
  var id= options.referrerInfo.extraData.id;     //传过来的id 就获取id , 设置为全局变量
  this.globalData.id = id;
}

然后在comeHere.js里使用

//小程序B, comeHere.js
var app = getApp();
data:{
  id: app.globalData.id
}
上一篇下一篇

猜你喜欢

热点阅读