微信小程序中的 this.setData()

微信小程序中的 this.setData(),第1张

在小程序中使用this.setData()方法是非常常见的,通过这个方法,可以将data中的变量进行赋值.那么如果遇到下面这种情况:

如果此时我想修改 belineData 对象下的 name 的值,我们可以这样 *** 作

这样就可以把字符串赋值给对象下的 name 属性

这个时候,我们需要给 belineData 数组下的第一个对象赋值的话.大概脑子里想的应该是:

然后,我们会发现,这样写并不行.而要通过ES6的标识符来实现

使用变量的部分要 ${} 套用起来就可以了.

官方

先看一下官方对于 this.data 和 this.setData({}) 的定义与用法

知识点

this.data 是用来获取页面data对象,仅会改变数据,无法改变页面的状态,可能会造成数据不一致;

this.setData({}) 是用来修改数据,不仅会改变数据,而且还会改变视图;

问题

实际自己在学习过程中,遇到一个问题,下拉刷新的方法当中,用 this.data this.setData({}) ,在数据显示上并没有什么不同,学习的视频中,授课老师用的是this.data,这个地方我自己也没有搞清楚是为什么

*** 作效果:

this.data

this.setData({})

可以看出来,两者使用并没有什么明显的区别。

总结

实际使用当中按照上面 知识点 部分加粗部分去执行,肯定是没有错的,涉及到页面数据更新的,使用**this.setData({}) **,在js中使用data数据时使用****this.data.属性 。****

thta.setData在使用过程中需要注意:

1、通过setData后的数据,在wxml页面中可直接使用

2、但在page{}  逻辑层中去使用setData后的数据就需要清楚,必须是setData后去调用,(this.data.xxx  或  that.data.xxx )的形式去调用

关于小程序    globalData  问题

在日常的开发中,难免有些数据是很多页面都要用到的,怎么才能设置一次就可以全局使用,可以尽量往  app.js  index.js(首页)  中设置,这使得一进入小程序就设置好了全局数据

(app.js设置全局数据)

1app.js

2其他页面怎么使用?

首先引入app      (let app = getApp())

直接  app.globalData.H  就可以拿到 H 全局数据

(其他页面设置全局数据)

直接  app.globalData.xxx = 想要设成全局变量的数据

使用  app.globalData.xxx  就可以拿到 xxx 全局数据


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8073141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存