问答详情
源自:4-4 电影详情

电影详情页问题,movieid返回的是undefined , 非常感谢回答

视频原来是给“评价 按钮绑定bindtap,进入详情页,能获取到movieid。当我把bindtap绑定在一个电影上时,传过来的movieid是undefined,代码如下

<view class="movie" wx:for="{{movieList}}" wx:key="{{item.index}}" bindtap="goDetail" data-movieid="{{item.id}}">
    <image class="movie-img" src="{{item.images.small}}"></image>
    <view class="movie-info">
        <view class="movie-title">{{item.title}}</view>
        <view class="movie-score">评分:
            <text>{{item.rating.average}}分</text>
        </view>
        <view class="movie-actor">演员:
          <text wx:for="{{item.casts}}" wx:key="{{item.index}}">{{item.name}}</text>
        </view>
        <view>时长:{{item.durations}}</view>
    </view>
</view>

https://img.mukewang.com/5d2afab9000135c413620694.jpg

提问者:慕仰050562 2019-07-14 17:51

个回答

  • 慕仰050562
    2019-07-14 22:54:53

    十分感谢老师?


  • 谢成
    2019-07-14 19:07:06

    是detail.js的第15行代码获取不到,应该把这个代码截图出来。。。

    不过大概能想到是什么问题,在获取movieid的时候,使用的方式是不是:event.target.dataset.movieid。改成这个试试:event.currentTarget.dataset.movieid


    这里就需要了解target和currentTarget的区别了:

    target指的是触发事件的元素,currentTarget 指向的是添加监听事件的对象;和事件冒泡有关。

    比如元素的点击事件是给class="movie"元素绑定的,而点击的是class="movie-title"这个元素,那么这时的target就是class="movie-title"这个元素,而currentTarget就是class="movie"这个元素。