小程序跳转小程序

有的小程序需要跳转到别的小程序。 需要传递 跳转目的的appId,path,以及要传递的对象 (extraData),不过需要 再app.json 配置记录跳转得appId。

         wx.navigateToMiniProgram({
           appId: 'wx6f1363a076fccbaf',
           path: `pages/query/policy/policy?idType=111&idCode=${orderParam.idNo}&name=${orderParam.name}`,
           extraData: {

           },

  🈚😭 有个坑,自己踩了,才知道。 这跳转小程序得 点击触发。 在下下图描述。 下图 是 在app.json ,一些参数配置。

 

 

自己被一个问题坑了 很久。 ┭┮﹏┭┮,拿来主义害死人。总结 还是自己粗心。  https://blog.csdn.net/tianlifeiyu/article/details/81704601 ,如下

A 小程序代码 

<navigator target="miniProgram" open-type="navigate" app-id="{{BappId}}" path="{{path}}" extra-data="{{data}}" version="develop" bindtap='navgatorFn'>
 

  

js:  我这跳转的是指定的home页,如果path是空,那么跳转到B小程序的首页。

Page({
  data: {
    BappId:'B小程序的AppId',
    path:'/pages/home/home' ,
    data: {name:'阿森纳'}
  },

  其实也可以在path里面拼数据也能获取到只是 path拼的数据会存到Object下面的query里面,extra-data专门来传递数据的会存到Object下面的referrerInfo.extraData里;

 

B小程序代码:

因为开发文档中强调了数据是在App.onLaunch()和App.onShow()中接收;

 

 所以去B小程序app.js中的onLaunch和onShow添加参数options用来接收A小程序传递的值。

App({
appData :'';
onLaunch: function (options){
    this.appData = options 
},
onShow:function (options) {
    this.appData = options;
}
})

  (这个appData必须定义,不然ios手机不行,安卓可以,自己被这问题坑了一下午。呜呜,要细心,还必须看文档,App 有那些元素。明鉴明鉴)

onLaunch和onShow 有其中一个就可以了,这样我们就拿到了A小程序传过来的值了;

接下来去home页从全局获取下刚才的appData。

var App = getApp();
Page({
    data:{
        appData: App.appData  //把拿到的值存储起来 
    },
    onLoad: function(options) {
        var that = this;
        console.log(that.data.appData)  //打印一下看看你是否拿到了A小程序传过来的值
    }
})

  

注:A、B小程序必须是在同一个公众号下有关联才能做跳转。在手机上进行跳转测试的时候要注意:

如果你在B小程序上增加代码,记得先扫一下B小程序的预览,然后关闭,再从A小程序的预览扫码进去,不然B小程序会一直保存你第一次的数据,不会做更改。

 

 

 

 爱生活,爱编程。

 

posted @ 2019-09-19 17:43  打个大大西瓜  阅读(535)  评论(0编辑  收藏  举报