<view class="placeholder" bindlongpress="delect" > <view wx:for='{{pageList}}' wx:key="_id" class="event-list"> <navigator url="../home/imgshow?id={{item._id}}" class="event-link" data-aid="{{item._id}}"> <view class="event-img" > <image mode="widthFix" src="{{item.fileID}}"> </image> </view> <view class="event-content" > <view class="event-title" >"{{item.name}}"</view> <view class="event-desc">"{{item.discribe}}"</view> <view class="event-box"> <view class="event-time">"{{item.time}}"</view> </view> </view> </navigator> </view> </view>在以上微信小程序wxml代码中为什么delect方法中event.currentTarget.dataset.aid显示undefined
时间: 2023-07-02 13:03:44 浏览: 129
在上述代码中,`delect`方法是在`view`标签上绑定的长按事件,但是`event.currentTarget.dataset.aid`是从`navigator`标签上获取的属性。因此,当长按`view`标签时,它无法正确获取`navigator`标签上的属性值,导致`undefined`的出现。
要解决这个问题,你可以将`data-aid`属性从`navigator`标签移动到`view`标签上,这样就可以在`delect`方法中正确获取到`data-aid`的值了。例如:
```html
<view class="placeholder" bindlongpress="delect">
<view wx:for='{{pageList}}' wx:key="_id" class="event-list">
<navigator url="../home/imgshow?id={{item._id}}" class="event-link">
<view class="event-img" >
<image mode="widthFix" src="{{item.fileID}}">
</image>
</view>
<view class="event-content" data-aid="{{item._id}}">
<view class="event-title" >"{{item.name}}"</view>
<view class="event-desc">"{{item.discribe}}"</view>
<view class="event-box">
<view class="event-time">"{{item.time}}"</view>
</view>
</view>
</navigator>
</view>
</view>
```
然后在`delect`方法中使用`event.target.dataset.aid`来获取`data-aid`属性的值即可。例如:
```javascript
Page({
delect: function(event) {
var id = event.target.dataset.aid;
console.log(id);
}
});
```
阅读全文