微信小程序 this.setData()

微信小程序 this.setData()

官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/runtime_setData.html
setData()函数用于将 data 从逻辑层传输到视图层,同时对应的改变this.data的值。
Object 以 key: value 的形式表示,将 this.data 中的 key 对应的值改变成 value。

setData使用时this指向问题

this.setData()中this应该指向page(全局),当this.setData()出错时是因为this没有指向全局

解决办法:全局定义变量 = this(让指针一直指向全局)
1、全局定义变量 = this(var that = this)
2、使用箭头函数
setData使用注意事项
1、直接调用this.setData(),修改this.data是无法改变当前页面的状态的,会导致data数据发生改变但是视图不会渲染(小程序的逻辑层和视图层是两个独立的运行环境、分属不同的线程或进程,不能直接进行数据共享)
2、仅支持可以JSON化的数据,JSON的值不能为undefined,因此不要把data中的任何一项的value设为undefined
3、单次设置的数据不能超过1024KB,尽量避免一次设置过多的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值