收藏
回答

基础库更新后That.setData不可用

问题模块
开发者工具

同样的that.setData代码如下:

that.setData({
       examlist: 222,
       siteUrl: app.globalData.siteBaseUrl
     });

切换到1.4.4及一下版本可用,但在1.5.0及以上版本就不可用,请问这是为什么?

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

7 个回答

  • Lexus
    Lexus
    2017-09-30

    更新下源码,应该是:

    that.setData({
      total: data.data.data.count,
      examlist: that.data.examlist.concat(data.data.data.exams.map(function (item) {
        item.updated_at = Util.getDateDiff(new Date(item.updated_at));
        item.description = htmlToWxml.html2json(item.description);
        item.created_at = Util.getDateDiff(new Date(item.created_at));
        return item;
      }))
    });

    问题应该是出在examlist上,

    1.4.4及以下版本可用,但在1.5.0及以上版本就不可用


    2017-09-30
    赞同
    回复
  • Can🌴
    Can🌴
    2017-09-30

    that  是什么

    2017-09-30
    赞同
    回复
  • Lexus
    Lexus
    2017-09-30

    var that = this;

    2017-09-30
    赞同
    回复
  • Can🌴
    Can🌴
    2017-09-30

    你把代码贴全一点

    2017-09-30
    赞同
    回复
  • Lexus
    Lexus
    2017-09-30
    const https = require('../../public/js/douban.js');
    var Util = require('../../utils/util.js');
    var htmlToWxml = require('../../utils/htmlToWxml.js');
    var WxSearch = require('../wxSearch/wxSearch.js')
    if (!Object.assign) {
      Object.assign = require('../../public/core/object-assign.js')
    }
     
    //获取应用实例
    var app = getApp();
    Page({
      data: {
        showAddArticleBtn: true,
        isLoading: false,//加载
        page: 1,
        total: 0,
        perpage: 10,
        modalHidden: true,
      },
     
     
      onLoad(params) {

        var that = this;
      
        var accesstoken = app.globalData.token;
         
        if (!accesstoken) {
          app.getUserInfo(function () {
            that.getAuditList();
          })
        } else {
          that.getAuditList();
        }
     
     
     
      },
     
     
      getAuditList: function () {
        var that = this;
        var page = that.data.page;
        if (page == 1) {
          that.setData({
            examlist: [],
            siteUrl: app.globalData.siteBaseUrl
          });
        }
        https.chapter('api/v1/exam_list?page=' + page, null).then((data) => {
          if (data.data.code == 0) {
            console.log('数据', data.data.data.count)
            //更新数据
            that.setData({
              total: data.data.data.count,
              examlist: that.data.examlist.concat(data.data.data.exams.map(function (item) {
                item.updated_at = Util.getDateDiff(new Date(item.updated_at));
                item.description = htmlToWxml.html2json(item.description);
                item.created_at = Util.getDateDiff(new Date(item.created_at));
                return item;
              }))
            });
            setTimeout(function () {
              that.setData({ isLoading: true });
            }, 300);
          }
          if (data.statusCode == 401)  //token 过期
          {
            this.globalData.token='';
            app.getUserInfo();
           console.log('401')
     
          }
          if (data.statusCode == 400) //没有token
          {
            this.globalData.token = '';
            app.getUserInfo();
            console.log('400')
          }
          else {
          }
        })
      },
     
     
     
      onUnload() {//页面卸载
     
      }
    });


    2017-09-30
    赞同
    回复
  • Can🌴
    Can🌴
    2017-09-30

    代码貌似没问题,报错信息是啥?

    2017-09-30
    赞同
    回复
  • Lexus
    Lexus
    2017-10-02

    如图,没有任何报错,就是更新AppData中的数据,console.log也能打印请求到的数据。

    换了1.44基础库就没有任何问题。

    2017-10-02
    赞同
    回复