收藏
回答

小程序课程表,列表内容可以输出到控制台,但无法在小程序正确显示

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 需求 工具 7.0.3 2.5.0
data: {
    weChatUserInfo: null,
    bmobUserInfo: null,
    colorArrays: ["#85B8CF", "#90C652", "#D8AA5A", "#FC9F9D", "#0A9A84", "#61BC69", "#12AEF3", "#E29AAD"],
    wlist: [],
   
      //{ "day": 5, "cutime": 1, "culength": 3, "cuname": "高等数学@教A-301" },
      //{ "day": 6, "cutime": 1, "culength": 3, "cuname": "高等数学@教A-301" },
    //],
     
  },
  loadTable: function () {
 
    var userPointer = Bmob.Pointer('_User');
    var pointerUser = userPointer.set(that.data.bmobUserInfo.objectId);
    var query = Bmob.Query('class_table');
 
    //var that=this;
 
    query.equalTo('UserId', '==', pointerUser);
    //query.select('createdAt'+'objectId'+'updateAt');
    query.order('day', 'cutime');
 
    query.find().then(res => {
      if (res.length > 0) {
        for (var i = 0; i < res.length; i++) {
          var classItem={};
          classItem.day=res[i].day;
          classItem.cutime=res[i].cutime;
          classItem.culength = res[i].culength;
          classItem.cuname = res[i].cuname;
          that.data.wlist.push(classItem);
       
        }
      }
    })
 
     
    that.setData(
      {wlist:that.data.wlist,
      }
    );
 
  },
 
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    that = this;
    //that.getErrorCount();
    that.setData({
      bmobUserInfo: wx.getStorageSync('bmobUserInfo'),
      weChatUserInfo: wx.getStorageSync('weChatUserInfo')
    });
    that.loadTable();
    console.log(that.data.wlist);   //显示到控制台
  },
<view wx:for="{{wlist}}" wx:for-item='class' wx:key='{{class.cuname}}'>
      <view class="flex-item kcb-item"  data-statu="open" data-index="{{index}}" style="margin-left:{{(class.day-1)*100}}rpx;margin-top:{{(class.cutime-1)*100+5}}rpx;height:{{class.culength*100-5}}rpx;background-color:{{colorArrays[index%9]}}">
        <view class="smalltext" >{{class.cuname}}</view>
      </view>
    </view>

- 需求的场景描述(希望解决的问题)

本人用比目云作为数据库存储选课信息,打开课程表页面时查询数据库表中所有自己相关的选课信息,按照日期与时间排序,并存入列表wlist中,列表可以在控制台正常输出,但无法正常显示到小程序的课程表中。以上是相关的代码片段。


- 希望提供的能力


最后一次编辑于  03-10  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 铭锋科技
    铭锋科技
    03-10


    loadTable

    第二行的 that 哪来的

    that.data.wlist.push(classItem); 这里的that又是哪来的



    onLoad

    that = this; 是什么意思?

    03-10
    赞同 1
    回复 1
    • 嘉树
      嘉树
      03-10

      我在js文件最顶部Page()外定义了

      var that;
      Page({
      ……

         

      03-10
      1
      回复