首先我们有这么一种需求,就是我在一个列表中点击了某个item,跳转到详情界面,那么我就需要把item的实体数据从列表页面传递到详情页面,那么我们来看看微信小程序给我们提供的API:
这里大家可以清楚看到api中说到的如何传递参数,其实它这里指的参数仅仅是一些普通的数据类型,我们要传递的实体是object类型,那么我们需要先把实体转成string类型进行传递,在详情页面接受到在逆向转成实体,如下面这段示例:
//这里我们跳转详情界面
queryItemClick: function (e) {
var that = this
//拿到点击的index下标
var index = e.currentTarget.dataset.index
//将对象转为string
var queryBean = JSON.stringify(that.data.queryList[index])
wx.navigateTo({
url: \'../queryResult/queryResult?queryBean=\' + queryBean,
})
}
这里我们用JSON.stringify()函数将实体转成string类型进行传递,那么我们在看看接收参数:
/***重点内容*
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var that=this
var queryBean = JSON.parse(options.queryBean);
that.setData({
queryBean: queryBean
})
//console.log(that.data.queryBean)
}
这里我们在生命周期函数onLoad中获取我们传递的实体转的字符串,然后用JSON.parse()转成实体,最后赋值给我们的全局变量。
如果我们想要传递Json对象 也可以通过这样的方式进行传递。