【微信小程序】页面加载后获取数据如何更新页面数据渲染

有一次在写微信小程序的时候,当时用的是列表渲染数据。js获取到数据后,setData无法自动更新数据。搞得我也是焦头烂额的。
后来看了看setdata的官方文档

setData 是小程序开发中使用最频繁的接口,也是最容易引发性能问题的接口。

工作原理

小程序的视图层目前使用 WebView 作为渲染载体,而逻辑层是由独立的 JavascriptCore 作为运行环境。在架构上,WebView 和 JavascriptCore 都是独立的模块,并不具备数据直接共享的通道。当前,视图层和逻辑层的数据传输,实际上通过两边提供的 evaluateJavascript 所实现。即用户传输的数据,需要将其转换为字符串形式传递,同时把转换后的数据内容拼接成一份 JS 脚本,再通过执行 JS 脚本的形式传递到两边独立环境。
而 evaluateJavascript 的执行会受很多方面的影响,数据到达视图层并不是实时的。

当时的代码是这样的

aaa:function(){
    wx.request({
        url:url,
        method:"POST",
        data:{
            .....
        },
        success:function(res){
            this.setData({
                .....
            })
        }
    })
}

这样不行
然后我就这样试了一下

aaa:function(){
    var that = this
    wx.request({
        url:url,
        method:"POST",
        data:{
            .....
        },
        success:function(res){
            that.setData({
                .....
            })
        }
    })
}

居然成功了。

然后我再网上查了一下。说是需要备份一下this,也就是向代码中的

var that = this

具体问题我也不太太明白,等我明白了在此更新

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.微信小程序是啥 本质其实就是(混合)的app 介于web app与native 原生app之间,具备丰富的调用...
    极乐叔阅读 3,113评论 1 4
  • 一.微信小程序是啥 本质其实就是(混合)的app 介于web app与native 原生app之间,具备丰富的调用...
    向日葵666666阅读 1,374评论 0 0
  • 因新工作主要负责微信小程序这一块,最近的重心就移到这一块,该博客是对微信小程序整体的整理归纳以及标明一些细节点,初...
    majun00阅读 7,392评论 0 9
  • 庆庆终于在这学期最后的时光得到了一个玩伴,我们班的韩雨辰小朋友。 她家离我们很近,又是我班里的学生,两个人越玩越熟...
    禾欣阅读 131评论 0 0
  • 今天早上六点就起了,苏州的天气着实让人难受。看着灰蒙蒙的天空,还飘着小雨,真心不想出去。今天在厂里一个上午都在被批...
    纸树花开阅读 225评论 0 0