
如图所示是接下来需要完成的效果:
页面结构:2个, index (首页)以及 details (详情页),首页是产品列表,点击产品后进入对应的详情页。
首页的wxml结构:
首页的js数据:
对于详情页请求数据,核心在于点击对应产品然后请求对应的产品数据,因此这里的 navigator 组件跳转的url至关重要,这里的 /pages/details/detailsgoodsId={{index} 是模拟了后台提供的数据接口,后面的 goodsId 作为产品的辨识符,当点击之后可以获取到当前点击的是哪个产品,以供详情页进行请求数据。
详情页wxml结构:
详情页js数据:
详情页请求数据的重点在于生命周期函数, onLoad 函数,它可以在页面加载的时候进行触发,并可以通过参数获取到跳转链接上面的辨识符,也就是通过 onLoad 函数中的 options ,获取到了刚才在 indexwxml 页面url中的辨识符: goodId ;
通过它可以获取到对应的产品数据,再将数据进行修改更新到详情页结构 detailswxml 即可。
本案例中跨页面传递数据主要是利用了URL传值,在另外一个页面中接收,并将数据渲染到页面中,这个过程就需要用到生命周期函数:onLoad函数。
其实直接调用wxuploadFile方法就可以了,下面以微信小程序内容安全接口> 如果当前界面通过 查询事件 或 单条数据查询事件 获得了某个数据模型,那么该界面的 组件则可以通过 数据传递 接收数据模型中的类型字段。 选中 组件 展开 检查器-数据绑定及设置 面板 在 数据传递 菜单中选择 事件模型 及 字段
1、传递参数为对象格式
若参数为对象则需先使用 JSONstringify()进行转换 , 接收后使用JSONparse()转为对象
但这样传参有一个问题,当对象数据长度过大时会报错,因为url传参时程序把过长的那段数据给截取掉了,导致数据转换回来时格式不对而报错。
2、传递参数中含有 = &等特殊字符
若传递参数中含有=,,&等特殊字符,无法正常传递参数,则需要进行编码解码。
解决:
这时可以再添加另一个API:encodeURIComponent(obj) 和 decodeURIComponent(optionsobj),在encodeURIComponent之前要用JSONstringify()先转换数据,decodeURIComponent之后再用JSONparse()转换回来。
encodeURIComponent(JSONstringify(obj)) 为跳转url时的转换方法。
JSONparse(decodeURIComponent(optionsobj)) 为接收参数页面的转换方法。
例如:
以上就是关于微信小程序:详情页请求不同数据的实现原理全部的内容,包括:微信小程序:详情页请求不同数据的实现原理、微信小程序POST怎么传递FormData格式的数据、使用Towify制作小程序时配置图片时,如何设置接收数据传递数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)