天天看點

關于小程式中view的自定義屬性擷取

e.target

拿的是點選的對象的屬性

如果是

data-

放到外層了,點選裡面的元素是拿不到屬性值的

而用

e.currentTarget

則是拿

bintap/catchtap

所在的對象的屬性~,點選裡面的元素一樣能拿到屬性值

<view class='a-child' data-tid='{{child.ID}}' bindtap='selectChild'>
          <image class='avatar' src='../../images/localImages/default_user.png'></image>
          <view class='child-mid'>
            <view class='mid-top child-name'>{{child.STUDENTNAME}}</view>
           

示例中 要拿 tid 要如下:

selectChild: function(e) {
    //擷取ID
    var tid = e.currentTarget.dataset.tid
    console.log('tid: ' + tid)
  },
           

而如果寫成

你點選

image

之類的子元素拿到的是

undefined

,而很多時候子元素基本都占滿了父類

view

,是以就會出現

undefined

的情況

當然,你也可以每一層元素都加

data-tid

屬性~~~這樣就能用

e.target.dataset.tid

來擷取值喽

開發中遇到的,記一下