小程序中获取元素属性并传递给另一元素

因为小程序不支持DOM节点的操作,所以只能用data-[属性名]去实现,然后在注册页面中实现

<view class='setVoiceFooter'>
      <view class='sexIcon' bindtap='chooseBoy'>
      <!--从这里取值传递给下面有注释的元素-->
        <image data-src='../../image/u664.jpg' src='../../image/u664.jpg'></image>
      </view>
  </view>
  <view class="setType {{showType?'':'hidden'}}">
    <view class='{{item.class}}' wx:for="{{loop}}" wx:key="id" data-id='{{item.id}}' style='display:{{item.visible}}'>
      <view wx:if='{{item.id == 1}}' class='certainSexIcon'>
          <!--从上面取到的src属性值赋给该元素 -->
        <image src='{{item.opt}}'></image>
      </view>
      <view wx:else class='session'>{{item.opt}}</view>
    </view>

注册页面中的实现方法

data: {
    loop: [
      {
        opt: "",
        id: 1,
        class: 'send',
        visible: 'flex'
      }
    ]
  },
chooseGirl: function(e) {
    this.setData({
      showVoice: 0,
      showType: 1,
      // loop[0].opt 必须加'',不然是错误的写法,报错,昨天就是在这个地方踩了好久的坑
      'loop[0].opt': e.target.dataset.src
    })
    console.log(this.data.loop[0].opt);
  }

猜你喜欢

转载自blog.csdn.net/maid_04/article/details/80319861
今日推荐