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 全局数据
在小程序中使用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.属性 。****
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)