收藏
回答

data-id 的值没有绑定上无法用 e.target.dataset.id获取



后台数据已经返回且是有id的,但是在页面遍历的时候,data-id却没有值,左边的商品的数据都是从后台获取的



这张图就有data-id的值,3和4 也是从后台获取到的数据

请问为什么会有这种情况 有没有大神可以指点一下

刚学小程序

回答关注问题邀请回答
收藏

5 个回答

  • 黎😄
    黎😄
    2019-01-22

    代码片段:

    2019-01-22
    有用 1
    回复
  • 连胜
    连胜
    2019-01-23

    建议楼主去了解一下e.target和e.currentTarget的区别

    2019-01-23
    有用
    回复 3
    • 🍼
      🍼
      2019-01-24

      不是这个问题 问题已经解决了 是开发者工具的问题

      2019-01-24
      回复
    • 连胜
      连胜
      2019-01-24回复🍼

      微信开发者工具,是最难用的工具,没有之一,经常出现莫名奇妙的问题,建议遇到问题时,尝试重启开发者工具

      2019-01-24
      回复
    • 🍼
      🍼
      2019-01-24回复连胜

      真的是这样的 我是mac版本的,我把我的文件发给我朋友他用的是windows版本的,一点问题都没有 就是开发者工具在作怪

      2019-01-24
      回复
  • 🍼
    🍼
    2019-01-22

    <view class='cartMain'>

    <view>

    <button bindtap="go" data-id="{{item.id}}" class='cleanCart'>清空购物车</button>

    </view>

    <view wx:for="{{cartItems}}" wx:key>

    <view data-id="{{item.id}}" class='cart-box' data-index="{{index}}">

    <view class='icon'>

    <icon wx:if="{{item.selected}}" type="success" color="#405F80" size="20" bindtap="selectedCart" data-index="{{index}}"/>

    <icon wx:else type="circle" bindtap="selectedCart" size="20" data-index="{{index}}" />

    </view>


    <view class='cart_main'>

    <view class='left'>

    <view class='left_imgae'>

    <image class="cart-image" src="{{item.image}}"></image>

    </view>


    <view class='left_box'>

    <text class="cart-title" hidden='hidden'>{{item.id}}</text>

    <text class="cart-title">{{item.title}}</text>

    <text class="cart-price">¥{{item.price}}</text>


    <text bindtap='reduce' class="input cart-reduce" data-index="{{index}}">-</text>

    <text class="input cart-text">{{item.value}}</text>

    <text bindtap='add' class="input cart-add" data-index="{{index}}">+</text>

    <text class="input cart-stock">库存:{{item.stock}}</text>

    </view>

    </view>


    <view class='right'>

    <image src='/image/删除.png' bindtap='shanchu' data-index="{{index}}"></image>

    </view>

    </view>



    <!-- 底部 -->

    <view class="cart-bottom">

    <icon wx:if="{{CheckAll}}" class="cart-icon" type="success" color="#405F80" size="20" bindtap="select" data-index="{{index}}" />

    <icon wx:else type="circle" class="cart-icon" size="20" bindtap="select" data-index="{{index}}" />

    <text class='checkAll'>全选</text>


    <!-- <view class='cart-pay'>

                   <text class='cart_pay' bindtap="go" data-id="{{item.id}}">清空购物车</text>

                 </view> -->


    <view class='cart-pay'>

    <text class='cart_pay' bindtap="goPay" data-id="{{item.idList}}">结算</text>

    </view>


    <view class='cart-sum'>

    <text class='cart_sum'>

    <text class='sum_text'>合计:</text>

    <text class='sum_color'>¥{{total}}元</text>

    </text>

    </view>

    </view>

    </view>

    </view>

    </view>


    2019-01-22
    有用
    回复 1
    • 🍼
      🍼
      2019-01-22

      后台请求来的数据都在cartItems 这个list里

      2019-01-22
      回复
  • 2019-01-22

    e.currentTarget.dataset.id就有值了


    2019-01-22
    有用
    回复 7
    • 🍼
      🍼
      2019-01-22

      这个不行哦,因为data-id 没有获取到 ,这样获取会报错的

      2019-01-22
      回复
    • 2019-01-22回复🍼

      你有没有注意到我回复的地方跟你写的哪里不同?

      2019-01-22
      回复
    • 🍼
      🍼
      2019-01-22

      有的,就是target和currentTarget,但是 问题不是处在这里 而是



      这里连data-id都没有

      2019-01-22
      回复
    • 2019-01-22回复🍼


      你在list之外使用item应该会报错吧?你看下console控制台那里

      2019-01-22
      回复
    • 2019-01-22回复🍼


      你看下你的控制台吧,我觉得会有报错的

      2019-01-22
      回复
    查看更多(2)
  • 管凯旋
    管凯旋
    2019-01-22

    e.currentTarget

    2019-01-22
    有用
    回复
登录 后发表内容