微信小程序——页面跳转传递参数(实体,对象)

这里大家可以清楚看到api中说到的如何传递参数,其实它这里指的参数仅仅是一些普通的数据类型,我们要传递的实体是object类型,那么我们需要先把实体转成string类型进行传递,在详情页面接受到在逆向转成实体,如下面这段示例:
首先在微信小程序中我们的所有函数当中都有一个事件处理函数,其参数名为event



在这当中,存放我们标签自定义属性的参数是currentTarget下的dataset,在我们标签中并没有设置自定义属性事,会发现dataset属性里面是空的




那么自定义属性是什么格式呢?请看下图:

上面就是自定义属性的格式 只需要在data-后面添加自定义的属性名即可,再次打印会发现dataset属性下多出了一个属性值



发现了吧,这个属性名就是刚才data-postId的值postId
那么我想从一级页面将某个参数传递到二级页面又该如何实现呢?很简单,只需要在URL当中添加点东西即可
//这里我们跳转详情界面
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?postId=' + postId,
    })
  }

这里我们用JSON.stringify()函数将实体转成string类型进行传递,那么我们在看看接收参数:

/***重点内容*
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that=this
    var postId = JSON.parse(options.postId);
    that.setData({
      postId: postId
    })
    //console.log(that.data.postId)
  }

这里我们在生命周期函数onLoad中获取我们传递的实体转的字符串,然后用JSON.parse()转成实体,最后赋值给我们的全局变量。
如果我们想要传递Json对象 也可以通过这样的方式进行传递。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容