微信小程序事件catchtap实现选项卡

关于事件参考:https://www.cnblogs.com/eline2018/p/10394974.html

1、什么是事件
(1) 事件是视图层到逻辑层的通讯方式。

(2) 事件可以将用户的行为反馈到逻辑层进行处理。

(3) 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。

(4) 事件对象可以携带额外信息,如 id,dataset,touches

index.wxml

 <view class="tab">
    <text class="{{menuTapCurrent=='1' ? 'active':''}}" catchtap="menuTap" data-current="1" >公司新闻</text>
    <text class="{{menuTapCurrent=='2' ? 'active':''}}" catchtap="menuTap" data-current="2">行业新闻</text>
  </view>

index.js在data中menuTapCurrent=1初始化默认值,然后根据点击事件获取值赋值给选中的改变颜色样式

data: {
    indicator_dots:true,
    indicator_color: "#ffffff",
    indicator_active_color:"#F8626E",
    autoplay: true,
    interval: 3000,
    circular: true,
    menuTapCurrent: '1' 
  },
  menuTap:function (event) {
    // console.log(event);
    var current = event.currentTarget.dataset.current;//获取到绑定的数据
    var that = this;//这里注意,要不然setData不可用
    //改变menuTapCurrent的值为当前选中的menu所绑定的数据
    this.setData({
      menuTapCurrent: current
    });
  },

在这里插入图片描述关于点击实现后端数据切换

menuTap:function(e){
      //console.log(e);
    var current = e.currentTarget.dataset.current;//获取到绑定的数据
    //console.log(current);
    var that = this;//这里注意,要不然setData不可用
    //改变menuTapCurrent的值为当前选中的menu所绑定的数据
    this.setData({
      menuTapCurrent: current
    });
    wx.showLoading({
      title: '加载中',
      mask: true
    })
    //新闻资讯
    wx.request({
      url: 'http://www.yzm.com/index.php/api/news/index',
    method: 'POST',
    data: {
      cat_id: current,
    },
    header: {
      'content-type': 'application/x-www-form-urlencoded' // 默认值
    },
    success(res) {
      that.setData({
        news: res.data.data
      });
    },
    complete() {//加载完成后隐藏
      wx.hideLoading();
    }
  })
  }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值