欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

小程序跳转小程序之间传值和接收参数

程序员文章站 2024-03-15 12:19:35
...

A小程序跳转到B小程序,并且把参数带到B小程序。

A小程序代码:

wxml

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

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小程序会一直保存你第一次的数据,不会做更改。

第一次写文章如有不对的地方希望大家多多指正!<-卖萌脸->