为什么小程序event.currentTarget.database返回的是一个数组
时间: 2024-05-20 12:13:04 浏览: 144
小程序中,event.currentTarget 指的是事件绑定的当前组件,而 event.currentTarget.dataset 是当前组件上由 data- 开头的自定义属性组成的集合。如果当前组件上有多个 data- 开头的自定义属性,那么 dataset 就会返回一个对象,对象的属性名对应着 data- 后面的属性名,属性值则对应着属性值。
如果当前组件上只有一个 data- 开头的自定义属性,那么 dataset 就会返回一个对象,对象的属性名就是 data- 后面的属性名,属性值对应着属性值。
但是,如果当前组件上有多个相同的 data- 开头的自定义属性,那么 dataset 就会返回一个数组,数组的元素就是每个相同名称的自定义属性的属性值。这种情况下,我们可以使用索引来访问数组中的元素。
相关问题
微信小程序event.currentTarget.dataset怎么用
event.currentTarget.dataset 是指当前组件的dataset数据集合,可以在wxml中添加自定义属性组成一个dataset,然后在事件处理函数中可以获取到这些值,例如:
```
<view data-id="{{id}}" data-name="{{name}}" bindtap="onTap">点击我</view>
// 在js中
Page({
onTap: function(event) {
console.log(event.currentTarget.dataset.id);
console.log(event.currentTarget.dataset.name);
}
})
```
在这个例子中,当点击了“点击我”这个view组件时,可以通过event.currentTarget.dataset获取到它的data-id和data-name的值。
微信小程序e.currenttarget.dataset获取数组的值
微信小程序中,e.currentTarget.dataset可以获取到事件源所在组件的dataset数据。在获取数组的值时,可以通过e.currentTarget.dataset来获取。
假设有一个名为"list"的数组,我们可以通过在wxml上绑定事件来获取数组的值。例如:
```
<view wx:for="{{list}}" wx:key="index" data-index="{{index}}" bindtap="getValue">{{item}}</view>
```
在对应的js文件中,我们可以定义getValue函数来获取数组的值:
```
Page({
data: {
list: ['item1', 'item2', 'item3']
},
getValue: function(e) {
var index = e.currentTarget.dataset.index;
var value = this.data.list[index];
console.log(value);
}
})
```
在getValue函数中,通过e.currentTarget.dataset.index可以获取到点击的元素在数组中的索引。然后使用this.data.list[index],可以获取到对应索引的值。最后将值输出到控制台,方便调试。
这样,当点击wxml中的元素时,就可以通过e.currentTarget.dataset获取到数组的值。
阅读全文