小程序开发中跨页面传值;使用wxparse还原html

本文介绍了在小程序开发中如何实现跨页面传递数据,尤其是包含HTML内容的数据。作者首先尝试使用JSON.stringify()和JSON.parse()方法,但由于HTML特殊字符导致的问题而放弃。然后,转向使用wx.setStorageSync进行数据存储和检索。为了解析存储的HTML内容,作者引入了wxparse组件,并详细说明了其配置和使用步骤,成功实现了HTML在小程序中的完整解析。
摘要由CSDN通过智能技术生成

** 开发如图的页面,已经在列表页循环出优惠券的列表,需求是点进去展示优惠券的详情,因为不想在详情页再发送请求查询优惠券,想从本页面直接传该优惠券的信息到详情页。
**

积分兑换券页面
首先想到的是用JSON.stringfy()方法,将列表的数组元素,转化成json字符串,再到接收页面,用json.parse,将json字符串转化为json对象,就可以操作该数据了,发送页面将要传的参数,JSON.stringfy()序列化之后,用get方式在链接之后加上参数,如图:
在这里插入图片描述

但是该方法有很大的弊端:就是如果传来的字符串中有html代码,html代码中有回车换行之类的特出字符,JSON.stringfy()转化时不认识的都转化为了undifined,但是json.parse()不认识这些undifined

有办法说可以用str.replace(/\n/g,"\\n")转义,但是相当麻烦。(参考https://www.cnblogs.com/xiaozhuyuan/p/7098235.html)我转义了没转成,就屏蔽了该方法……如果页面之间传很少的不复杂的数据,是可以用JSON对象这种序列化的方式的。

方法二:我改用了wx.setStorageSync来传输:


  todetail(e){
   
    let _this = this;
    let kk = e.currentTarget.dataset.couponKay;
    let couponId = e.currentTarget.dataset.couponId;
    let typeId = e.currentTarget.dataset.typeId
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值