初接触小程序时以为bindtap事件是不能传参的,因为尝试用vue的事件传参方式 结果不行,让我也惶恐了一阵,这要是不能传参后面那么多for循环该怎么办

<view class='show'>
    <text data-no='1' bindtap='toggle' class="{{active == 1?'active':''}}">交通运输</text>
    <text data-no='2' bindtap='toggle' class="{{active == 2?'active':''}}">商业服务</text>
    <text data-no='3' bindtap='toggle' class="{{active == 3?'active':''}}">医疗卫生</text>
    <text data-no='4' bindtap='toggle' class="{{active == 4?'active':''}}">水利桥梁</text>
    <text data-no='5' bindtap='toggle' class="{{active == 5?'active':''}}">农林牧渔</text>
    <text data-no='6' bindtap='toggle' class="{{active == 6?'active':''}}">能源化工</text>
    <text data-no='7' bindtap='toggle' class="{{active == 7?'active':''}}">出版印刷</text>
    <text data-no='8' bindtap='toggle' class="{{active == 8?'active':''}}">原材料</text>
  </view>

事件定义

Page({
  data: {
    active: 1
  },
  toggle: function (e) {
    var a = e.currentTarget.dataset.no
    this.setData({
      active: a
    })
  }
})


之前为了实现功能写了一堆骚代码,能传参就写一个函数,不能传参那就写16遍函数,代码不认直视,既然能传参那就好办了,

小程序和vue很像,但还是有区别的

Logo

前往低代码交流专区

更多推荐