showClass(id){console.log('学校id',id)var that = this;var myClassData = this.data.myData;if (!(myClassData[id] && myClassData[id].length)){//限制只请求一次,当有数据时候就不发起请求了wx.request({url: 'https://haiyunht.langqiyun.cn/index/api/getTeacherClass?id=' + id,header: {'content-type': 'application/json' // 默认值},success(res) {myClassData[id] = res.data.data;that.setData({myData: myClassData});}})}}

完整代码:
html:

<!--addClass.wxml-->
<view class="container"><view class="selectContain"><view class="contain" wx:for="{{myClassData}}" wx:for-item="school" data-scid="{{school.id}}" wx:for-index="schoolIndex" data-num="{{schoolIndex}}" data-addTemp="{{school.addTemp}}" bindtap='collaFun'><view class="desc"><view class="conLeft"><view class="logo"><image class="logoPic" src="logo.png"></image></view><view class="title">{{school.school_name}}</view></view><view class="open"><image class="openPic" src="open.png"></image></view></view><view class="collapseItem" wx:if="{{school.addTemp}}" data-sccheck="{{school.addTemp}}"><view class="colClass" wx:for="{{myData[school.id]}}" wx:for-item="class" wx:for-index="classIndex" data-scid="{{school.id}}" data-id="{{class.id}}" catchtap='radioFun'><radio color='#40CBE5' style="transform:scale(0.7);" checked="{{class.active}}" data-checktemp="{{class.addTemp}}" data-sc='{{schoolIndex}}' data-cl='{{classIndex}}'></radio>{{class.class}}</view></view></view></view><view class="btn">添加班级</view>
</view>

js:

//index.js
//获取应用实例
//自己写的多项复选框选择功能var util = require("../../utils/util.js");
const app = getApp()Page({data: {checked: false,activeNames: ['1'],myClassData: [],myData:[],selectClass: {}},collaFun(e) {var addTemp = e.currentTarget.dataset.addtemp;console.log('scaddTemp', addTemp);var num = e.currentTarget.dataset.num;var scid = e.currentTarget.dataset.scid;if (addTemp == false) {for (let i = 0; i < this.data.myClassData.length; i++) {if (i == num) {this.setData({['myClassData[' + num + '].addTemp']: true});} else {this.setData({['myClassData[' + i + '].addTemp']: false});}}} else {this.setData({['myClassData[' + num + '].addTemp']: false});}this.showClass(scid);},onLoad: function() {this.loadData();},radioFun(e) {var schoolId = e.currentTarget.dataset.scid;var classId = e.currentTarget.dataset.id;var selectClass = this.data.selectClass;var myData = this.data.myData;if (myData[schoolId]) {for (let i = 0; i < myData[schoolId].length; i++) {let item = myData[schoolId][i];if (item.id == classId){if (item.active) {item.active = false;if (selectClass[item.id]){delete selectClass[item.id];}} else {item.active = true;selectClass[item.id] = item.id;}}myData[schoolId][i] = item;}this.setData({myData: myData,selectClass: selectClass});}},getUserInfo: function(e) {console.log(e)app.globalData.userInfo = e.detail.userInfothis.setData({userInfo: e.detail.userInfo,hasUserInfo: true})},loadData() {//获取缓存的老师idvar that = this;util.getStoreInfo(that);//获取老师的所有学校信息wx.request({url: 'https://haiyunht.langqiyun.cn/index/api/getTeacherSchool?id=' + this.data.tid,header: {'content-type': 'application/json' // 默认值},success(res) {let data = res.data.data;if (res.data.code == 200) {that.setData({myClassData: data}, function() {that.fieldAddClass();});console.log('that', that.data.myClassData)}}})},fieldAddClass() {const myClassData = this.data.myClassData;console.log('myClaData', myClassData);for (let i = 0; i < myClassData.length; i++) {this.setData({['myClassData[' + i + '].addTemp']: false,['myClassData[' + i + '].loadData']: false,});}console.log('myClaData', myClassData);},showClass(id){console.log('学校id',id);var that = this;var myClassData = this.data.myData;if (!(myClassData[id] && myClassData[id].length)){wx.request({url: 'https://haiyunht.langqiyun.cn/index/api/getTeacherClass?id=' + id,header: {'content-type': 'application/json' // 默认值},success(res) {myClassData[id] = res.data.data;that.setData({myData: myClassData});}})}console.log('myData000',that.data.myData);console.log('idd',id)var myDataInfo = that.data.myData[id];console.log('myDataInfo.length', myDataInfo)for (let m = 0; m <2;m++){that.setData({['myDataInfo[' + m + '].addTemp']: false,});}console.log('000', that.data.myData);}})

小程序不要频繁发起请求(每次点击都发请求)可以通过这种方式实现唯一性并且只请求一次相关推荐

  1. 【微信小程序】随机点名系统(点击开始滚动名字点击结束按钮结束滚动)

    [微信小程序]随机点名系统(点击开始滚动名字点击结束按钮结束滚动) 1.效果图: 2.js代码 {Page({data:{condition: Math.floor(Math.random()*7+1 ...

  2. 微信小程序之短连接 分享转发 点击短连接就可以直接打开小程序某个页面

    微信小程序之短连接 分享转发 点击短连接就可以直接打开小程序某个页面 首先,小程序官网地址:https://developers.weixin.qq.com/miniprogram/dev/OpenA ...

  3. “完美”解决微信小程序购物车抛物动画,在连续点击时出现计算错误问题,定时器停不下来。

    "完美"解决微信小程序购物车抛物动画,在连续点击时出现计算错误问题,定时器停不下来. 参考文章: (1)"完美"解决微信小程序购物车抛物动画,在连续点击时出现计 ...

  4. 小程序地图插入图标后 怎么实现点击图标弹出窗口

    1问题描述 本次博客的要解决的问题是:小程序地图插入图标后 怎么实现点击图标弹出窗口 如图: 2算法描述点击标记点获取数据 想要在地图等页面上显示弹窗,是使用的是marke的方法,点击标记点获取数据 ...

  5. 微信小程序API之发起请求request

    一.首先考虑发起 HTTPS 网络请求. 在小程序/小游戏中使用网络相关的 API 时,需要注意下列问题 1. 服务器域名配置 每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名与进行网络通 ...

  6. 【uniapp小程序】request发起请求

    这里写目录标题 写在前面 微信小程序和uniapp小程序区别

  7. 优化小程序中频繁下拉刷新导致的定位获取失败问题

    getLocation() {return new Promise((resolve, reject) => {let that =thiswx.getLocation({type: " ...

  8. 微信小程序-音频播放-wx.createInnerAudioContext() 每次都是重复播放同一条录音

    前言 在调试微信小程序音频播放时,刚开始我也是直接复制官方文档的实例: const innerAudioContext = wx.createInnerAudioContext() innerAudi ...

  9. 小程序近期频繁更新 背后原因全面解读

    记者/作者:陈秋歌 如果您正密切关注微信小程序,希望享受个人观点.研发心得,欢迎联系记者陈秋歌(chenqg#csdn.net.微信:Rachel_qg). 3月27日晚,微信官方重磅宣布小程序新增六 ...

最新文章

  1. 网站性能越来越差怎么办?
  2. QIIME 2教程. 12数据筛选Filtering data(2021.2)
  3. java nginx tomcat_Nginx + Tomcat (java )服务器部署
  4. 电路上的ESR是什么意思?
  5. VC2008的运行库问题。
  6. Redis的过期键删除策略和内存淘汰机制
  7. 11个程序员最常犯的MySQL错误(PHP开发)
  8. uva11549Calculator Conundrum
  9. 计算机专业代码qian,专业分类号及学科代码对照表.doc
  10. 推荐5款好用的Java软件,初学者必看
  11. JS中this是什么
  12. 剑指Offer面试题11(Java版):数值的整数次方
  13. 哪几种MM最受男孩喜欢?(组图)
  14. 京东历史价格查询的方法是?
  15. MTK VILTE预研文档
  16. 图片上传被旋转,golang Exif 判断.jepg图片原始信息Orientation方向,并旋转,
  17. Smalltalk的变量
  18. 阿里巴巴数学竞赛详细解答(据说晋级的直接P8岗)
  19. 数字按键KEYPAD-PHONE的使用 附代码
  20. “犇牛”踏蹄而来 牛年首“牛”木马大爆发

热门文章

  1. C# ComboBox SelectedText属性和SelectedValue属性理解
  2. 八进制、十六进制浮点数-规格化数判断
  3. 前端vue 配合ali-oss上传文件到阿里云
  4. 关于OSI7层模型简单的理解
  5. 一次搞懂 CSS3 animation动画中forwards和both的区别
  6. 今天给大家介绍一下苹果手机的“播客”这个软件
  7. html radio
  8. java timestamp 比较_Timestamp基础知识及时间大小比较
  9. windows主机查询产品号和主机序列号
  10. [CVPR2019](D3DFR)Accurate 3D Face Reconstruction with Weakly-Supervised Learning From Single Image