时间:2021-05-18
本文实例讲述了微信小程序间使用navigator跳转传值问题。分享给大家供大家参考,具体如下:
前言
这次讲一下我用 navigator 组件实现从一个小程序跳转到另一个小程序的过程中遇到的问题。
extra-data 如何构建
由于上网查资料得知 extra-data 是 json 格式。那么就不能在 HTML 属性中直接写。
那么剩下只有在 JS 里构建了。
首先在 HTML 里,绑定 extra-data的值到 extra 变量
<navigator class="navi" url="" target="miniProgram" app-id="wxxxxxxxxxxxxxxx" extra-data="{{ extra }}" version="{{ version }}" path="/pages/index/index"><image src="{{img}}" mode="scaleToFill" class="img"></image></navigator>然后在 JS 里构建这个变量
Page({ data: { extra: { "color": '', // 动态获取 "partnerUsername": '99', }, },})这里有个问题,就是如果 extra 里的 color 等变量是动态从远程 api 获取到的,那么应该怎么赋值。
我凭直觉写 extra.color = 'xx' ,尝试了下不行。查阅资料发现,应该这么写:
wx.request({ url: url, data: { color: '', }, header: { 'content-type': 'application/json' }, success: function (res) { that.setData({ "extra.color": app.globalData.color, }); }});还可以在 path 属性值后面跟参数来向目标小程序传值
通过搜索发现[这篇文章](https://cloud.tencent.com/developer/article/1157552),我试了他给出的解决方案,是可行的,现在记录在下面:
<navigator class="navi" url="" target="miniProgram" app-id="wxxxxxxxxxxxx" version="{{ version }}" path="zh_tcwq/pages/index/index?color={{ colorSet }}&partner={{ partner }}"><image src="{{src}}" mode="scaleToFill" class="img"></image></navigator>// 源小程序this.setData({ colorSet: app.globalData.color, partner: app.globalData.partnerUsername,});// 目标小程序onShow: function (options) { console.log(options.query.color + options.query.partner);}奇怪的问题(可能是bug):打开调试时,目标小程序能获取到动态的 extra-data,关闭后无法获取到
原因是我没配合法域名,所以动态从 api 获取的数据获取不到。
希望本文所述对大家微信小程序开发有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
微信小程序navigator跳转url传递参数使用方法说明(1)传值:在navigator的属性url后拼接?id(参数名字)=要传递的值(如果多个参数
微信小程序页面传值详解一.跨页面传值.1.用navigator标签传值或wx.navigator,比如这里将good_id=16参数传入detail页面,然后d
本文实例讲述了微信小程序实现页面跳转传值以及获取值的方法。分享给大家供大家参考,具体如下:在安卓中页面跳转传值都是通过bundle,现在研究一下小程序的列表跳转
微信小程序页面跳转及数据传递详解类似Android的Intent传值,微信小程序也一样可以传值:例如:wxml中写了一个函数跳转:已完成任务{{finished
微信小程序页面传值实例分析最近组里开发小程序,遇到了一个前端亘古不变的话题:页面传值刚开始使用路径传参解决,但是众所周知:各浏览器HTTPGet请求URL最大长