uniapp---微信小程序内跳转到另一个小程序

小程序之间相互跳转的2种方法,以及接收另一个小程序传参

一、通过标签 navigator 直接跳转

<navigator target="miniProgram" open-type="navigate" app-id="要跳转的小程序APPID" path="要跳转的小程序页面" version="开发版/体验版/正式版" extra-data="给要跳转的小程序传的参数">
    点击跳转都其他小程序
</navigator>

例: 小程序A 和小程序B, A要唤起B小程序

关于 extra-data 的写法,如果格式写得不对会出现 extra-data="null"的情况,可以写死或动态值

1、直接写死在页面上  extra-data="{{ {name: test} }}" 

2、在data中定义页面获取 extra-data="{{wxExtraData}}"

<!-- A 小程序-->  
<!-- 注 <navigator>标签不能放在 <text>标签里 -->  
<!-- path 的路径上也可以放参数  -->  
<view>
    <navigator open-type="navigate" target="miniProgram"  app-id="B小程序的appid" path="pages/index?name=test222"  extra-data="{{ {id: 3} }}" version="develop">跳转到B小程序</navigator>
    <navigator open-type="navigate" target="miniProgram" app-id="B小程序的appid" path="pages/index?name=test222" extra-data="{{wxExtraData}}" version="develop" >跳转到B小程序</navigator>
</view>
//A小程序 点击跳转的页面的 .js文件中
data:{
    ExtraData:{
        name:"test",
        id:1
    }
}

注意:app-id="这里面千万别有空格,否则不报错还无法跳转"

 关于 target、open-type、path、extra-data、version以及其他参数详细见文档:navigator | 微信开放文档

二、通过事件触发 uni.navigateToMiniProgram 跳转

uni.navigateToMiniProgram({
    appId: '要唤起的小程序的appid',
    path: '',//要打开B小程序的页面
    extraData: { },//需要传递给目标小程序的数据,目标小程序可在 App.onLaunch,App.onShow 中获取到这份数据
    envVersion: 'develop',//打开的对应小程序环境:开发develop、体验trial、生产release 
    success(res) {
        console.log('打开成功',res)
    }
})

例:

<!-- A小程序页面 -->
<view bindtap="testTo">点击跳转到 B 小程序</view>
// A小程序 .js
testTo(options){
    uni.navigateToMiniProgram({
        appId: 'xxxx',
        path: 'pages/index?name=222',//要打开B小程序的页面,这里是index
        extraData: { //给B小程序传的参数
          name: '第二种跳转方法',
          id:1,
          age:[18,25]
        },
        envVersion: 'develop',//打开的对应小程序环境:开发、体验、生产 ,这里是开发版
        success(res) {
          console.log('打开成功',res)
        }
     })
}

补充:extraData可以从launchOptions中获取,也可以直接从被打开页面onLoad等方法中的的options中获取

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值