怎么理解layui里的data_微信小程序setData()方法使用的理解

直接先来看看微信官方的描述:

Page.prototype.setData(Object data, Function callback)

setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。

参数说明

字段

类型

必填

描述

最低版本

data

Object

这次要改变的数据

callback

Function

setData引起的界面更新渲染完毕后的回调函数

1.5.0

Object 以 key: value 的形式表示,将 this.data 中的 key 对应的值改变成 value。

其中 key 可以以数据路径的形式给出,支持改变数组中的某一项或对象的某个属性,如 array[2].messagea.b.c.d,并且不需要在 this.data 中预先定义。

注意:

1. 直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致

2. 仅支持设置可 JSON 化的数据。

3. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。

4. 请不要把 data 中任何一项的 value 设为 undefined ,否则这一项将不被设置并可能遗留一些潜在问题。

对注意第一点的理解,我们可以通过微信官方的例子理解下:

c7ad0c3325c300e58045ff8629334e31.png

没有直接修改this.data,而是用this.setData:

903385a8c13318686ebe1be68b72b9d3.png

页面的值跟着改变,页面得到渲染。

而对注意第二点的理解,何为可 JSON 化的数据?

是一种数据格式。数据的两个重要方面:一个是传输,一个是存储。XML也是一种数据格式。今天Json在数据传输上是主流。Json数据格式涉及到两个方面的问题一个是将数据格式化 --- 序列化Json一个是解析数据 --- 解析Json。使用Json主要用来表示对象和数组这样的复杂数据结构,当然也可以表示基本数据类型(String, Boolean, Number, Null, Undefine)。用代码表示为:

data: {

text: 'init data',

Boolean:0,

num: 5,

null:null,

//undefine:undefine,//注意的第4点,不能设置undefine

array: [{ text: 'init data' }],

object: {

text: 'init data'

}

}

至于,注意的第3点字面理解即可了,注意的第4点上面代码已经说明。

在这编文章里我们只聊setData()使用方法的理解,至于它背后的工作原理以及优化,在官方文档里有说明(在以后我会通过代码清楚的展示下),其实简单使用的话理解上面这4点已经足够了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值