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