場景: 小程序A的某個(gè)頁面, 帶參數(shù)跳到小程序B
官網(wǎng)有膠帶, 說A的app.json里要配置navigateToMiniProgramAppIdList, 還不能超過10個(gè).
//小程序A, app.json
"navigateToMiniProgramAppIdList":[
"appid" //B小程序的appid
]
比如, A里面有個(gè)頁面叫 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的一個(gè)頁面, 反正不是首頁 , path后面也可以帶參數(shù)跳轉(zhuǎn), 不過取值方法就不一樣了.
extraData: { //參數(shù)寫在這個(gè)對象里面
id: this.data.id
},
envVersion:'trial', //跳到B的體驗(yàn)版, 不寫這行就是默認(rèn)跳正式版, 官網(wǎng)也有膠帶
success(res){
console.log(res)
}
})
},
官網(wǎng)還膠帶了, 在 App.onLaunch,App.onShow 中獲取到這份數(shù)據(jù). 所以B小程序里面就需要先在app.js里取值了.
//小程序B, app.js, 在onLaunch或onShow里都行
globalData: {
id: ''
}
onLaunch: function(options){ //傳入options
var id= options.referrerInfo.extraData.id; //傳過來的id 就獲取id , 設(shè)置為全局變量
this.globalData.id = id;
}
然后在comeHere.js里使用
//小程序B, comeHere.js
var app = getApp();
data:{
id: app.globalData.id
}