1. 首先根據官方文檔給出的,有一個前提就是兩個小程序必須是同一個公衆號下面的。
2,假設從小程序A跳轉到小程序B。在小程序A裏面,給相應的事件裏面調用wx.navigateToMiniProgram(),appId填寫另一個小程序的appId,path爲打開的頁面路徑,extraData爲需要傳遞給目標小程序的數據。其他參數說明可以查看官方文檔說明:https://developers.weixin.qq.com/miniprogram/dev/api/navigateToMiniProgram.html
tap:function(e){
wx.navigateToMiniProgram({
appId: 'appId',//填寫小程序B的appId
path: 'pages/index/index',
extraData: {
first: '111',
second: '222',
third: '333',
fourth: '444'
},
envVersion: 'develop',
success(res) {
console.log("成功")
console.log(res)
},
fail(res) {
console.log("失敗")
console.log(res)
}
})
},
3,在小程序B裏面可以通過App.onLaunch(),App.onShow()獲取到從小程序A傳遞過來的數據。官方文檔說明地址:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/app.html
var app = getApp()
App({
onLaunch: function (options) {
console.log("onLaunch事件")
console.log(options)
console.log(options.referrerInfo.extraData)
},
onShow: function (options) {
console.log("onShow事件")
console.log(options)
console.log(options.referrerInfo.extraData)
},
onHide: function () {
// Do something when hide.
},
onError: function (msg) {
console.log(msg)
},
})
打印結果如下圖所示: