场景: 小程序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
}