前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序 navigator 组件跳转小程序或者小游戏(二)

微信小程序 navigator 组件跳转小程序或者小游戏(二)

原创
作者头像
田超
发布2018-07-06 18:09:11
1.9K3
发布2018-07-06 18:09:11
举报
文章被收录于专栏:田超学前端田超学前端

嗯,开工,继续写。。。

extra-data 这个属性方法官方说:

代码语言:javascript
复制
当target="miniProgram"时有效,需要传递给目标小程序的数据,目标小程序可在 App.onLaunch(),App.onShow() 中获取到这份数据

其实,也就是只能获得固定的值,为什么这么说呢,因为我就踩了坑,一个巨大到用了我一下午时间还没整明白的坑。。汗!

我本意是这样的:

代码语言:javascript
复制
使用navigator组件跳转小程序的时候 通过点击事件bindtap='ceshi',把 a和b的值设置到data里的extra中,传值到目标小程序 ,

直接上代码:

代码语言:javascript
复制
wxml:

<navigator target="miniProgram" open-type="navigate" app-id="{{appid}}" path="" version="develop" bindtap='ceshi' extra-data="{{extra}}">打开绑定的小程序</navigator>



js:

data:{

    

appid:'wx108284235dd9e***',

extra:{

"aa":"0",

"bb":"0"

}

}



ceshi(){

var that = this

var str1 = 'extra.aa'

var str2 = 'extra.bb'

var a = 11111111

var b = 22222222



that.setData({

[str1]:a,

[str2]:b

})

},

本意是非常完美的,结果,尼玛在目标小程序里第一次根本获取不到传进来的值,第二次才能获取到,这是由于跳转和带参数同步进行的,设置值是第二步的事情,所以。。。

目前,我的解决办法就是:

代码语言:javascript
复制
<navigator target="miniProgram" open-type="navigate" app-id="{{item.app_id}}" path="pages/index/index?gmid={{item.id}}&uid={{uid}}&boxid={{boxid}}" version="release">打开绑定的小程序</navigator>

通过path里拼接实现动态传递参数,这样在目标小程序 的query里接受 ,extra-data里穿的参数是在referrerInfo里接受参数。两个接受参数的地方不一样。

OK。先这样。。。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档