收藏
评论

bindtap传参时,参数时有时无的问题


bindtap事件进行参数传递的问题,微信小程序官方文档提供了如下实例:

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


wx:for列表渲染,官方实例如下

<view wx:for="{{array}}">
 {{index}}: {{item.message}}
view>


如果在bindtap传参时,顺便使用了wx:for列表渲染,会出现传递的参数时有时无的问题。

<view wx:for="{{array}}" data-id="item.id" bindtap="getId">
 {{index}}: {{item.message}}
view>


此时点击wx:for迭代生成的view,会出现event.target.dataset.id获取时有时无的情况。


解决方案:

<view wx:for="{{array}}">
  <view data-id="item.id" bindtap="getId">
      {{index}}: {{item.message}}
  </view>
</view>


最后一次编辑于  2018-03-22  (未经腾讯允许,不得转载)
复制链接收藏赞 0

3 个评论

  • 阿细
    阿细
    2018-03-26

    <block for="{{array}}"></block>了解一下

    2018-03-26
    赞同
    回复
  • 古月
    古月
    2018-03-27

    currentTarget试下

    2018-03-27
    赞同
    回复
  • 刘弘愿
    刘弘愿
    2018-04-16

    item.id得用{{}}包起啊。。你不包起怎么会有值呢

    2018-04-16
    赞同
    回复