首先,app.json定义一个分包
"subPackages": [{
"root": "pageA",
"name": "pageA",
"pages": [
"pages/local/local",
"pages/mapDetail/mapDetail"
],
"independent": true
}]
视图效果为:
路由跳转
wx.navigateTo({
url: '../../pageA/pages/mapDetail/mapDetail',
success: (res) => {
res.eventChannel.emit('detailData', mapData)
}
})
url的值为当前主包文件相对于分包页面的获取地址,并非app.json中的参数,然后success方法可以携带参数给分包页面。
分包接收分包页面传递过来的参数
onLoad() {
const _this = this
const eventChannel = this.getOpenerEventChannel()
eventChannel.on('detailData', function (data) {
console.log(data)
_this.setData({
mapDetailList: data
})
})
},
这里的detailData是接收标识参数,不是固定的,可以是a,也可以是b,只要两者对应得上就行。
END
这里需要注意的是分包的路径,是相对的,并非绝对的url