小程序中点击事件传值与页面间传值

小程序中一个点击事件传入点击参数,比如是list中的哪个按钮点击的比较奇葩

首先在xml里设置点击事件

<!--index.wxml-->
<view class="container">
  <scroll-view scroll-y="true" class="scroll_view">
    <block wx:for="{{list}}" wx:for-item="item" wx:key="{{item}}">
      <view class="item_container" bindtap="goto_detail" data-book-id="{{item.bookId}}">
        <view class="image_container">
          <image src="{{item.headpic}}" class="img" mode="scaleToFill" />
        </view>
        </view>
      </view>
    </block>
  </scroll-view>
</view>

这里设置了一个bindtap = "goto_detail"

再看goto_detail方法:

goto_detail:function(event){
    let bookId = event.currentTarget.dataset.bookId
    wx.navigateTo({
      url:"../bookdetail/bookdetail?bookId="+bookId
    })
  }

然后看微信官方文档:

在组件中可以定义数据,这些数据将会通过事件传递给 SERVICE。 书写方式: 以data-开头,多个单词由连字符-链接,不能有大写(大写会自动转成小写)如data-element-type,最终在 event.currentTarget.dataset 中会将连字符转成驼峰elementType。
示例:

<view data-alpha-beta="1" data-alphaBeta="2" bindtap="bindViewTap"> DataSet Test </view>
Page({
  bindViewTap:function(event){
    event.currentTarget.dataset.alphaBeta === 1 // - 会转为驼峰写法
    event.currentTarget.dataset.alphabeta === 2 // 大写会转为小写
  }
})

原文链接:
https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html?search-input=dataset

看第三个页面是如何接受值的:

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let bookId =  options.bookId
    this.setData({
      bookId: options.bookId
    })
  },

直接在onload方法里获取参数就可以了

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

相关阅读更多精彩内容

  • 一:理解视图层 类似于“视图引擎模板”(jsp,freemaker,velocity,thymeleaf等) 框...
    Reg8888阅读 5,476评论 1 0
  • 视图层 框架的视图层由WXML(WeiXin Markup language)与WXSS(WeiXin Style...
    勇敢的_心_阅读 5,599评论 0 6
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,904评论 1 11
  • 昨天看了一下微信小程序官方文档,总结一下自己学习的个人心得. 首先从官方文档给的框架说起,微信小程序官方文档给出了...
    Mr大大大阅读 47,411评论 9 68
  • 在上篇SentOS yum安装MariaDB我们提到Mariadb数据库: 操作Mariadb1.启动MariaD...
    no才阅读 6,182评论 0 1

友情链接更多精彩内容