微信小程序主包页面跳转到分包页面

2,721 阅读1分钟

首先,app.json定义一个分包

  "subPackages": [{
    "root": "pageA",
    "name": "pageA",
    "pages": [
      "pages/local/local",
      "pages/mapDetail/mapDetail"

    ],
    "independent": true
  }]

视图效果为:

image.png

路由跳转

        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
      })

    })
  },

image.png

这里的detailData是接收标识参数,不是固定的,可以是a,也可以是b,只要两者对应得上就行。

END

这里需要注意的是分包的路径,是相对的,并非绝对的url

撒花。。。