数据 data
- 数据类型同 JavaScript 数据类型:Number、String,Array,Object等等
- 按照用途分为:响应式数据和静态数据;如无特别说明,都是指响应式数据
- 按照来源分为:外部数据和内部数据
- 响应式数据用于渲染页面,在属性数据 data 中定义
- 静态数据在 page 顶级说明,和 data 同级,且不需要指定数据类型
- 除了使用本页面定义的数据外,还可以使用其它页面的数据,如从 app.js 中获取数据/全局状态、从服务器拉取数据
// 页面外部数据
const app = getApp()
Page({
// 页面静态数据
uploadFileUrl: null
// 页面响应式数据
data: {
age: 18,
msg: 'hi,there',
url: 'glpla.github.io',
tempFilePath: null,
userInfo:{
uage: 18,
ugender: '男',
uname: 'glpla',
usn:20221001
},
goods: []
},
// 自定义函数
getInfo(){
//...
}
// 生命周期函数
onLoad(options) {
// ...
},
})
页面的数据可以在调试器的 AppData 中查看
app.globalData 的数据可以在 cconsole 标签页输入并查看
> getApp().globalData
使用数据 this.data
this.data.varible_name
结构 .wxml
<view>{{varible_name}}</view>
更新数据 setData()
- 逻辑中的数据变化会影响视图 / 结构 wxml 中绑定数据部分的更新
- 接受两个参数:要更新的数据对象和可选的回调函数(在数据更新完成并且页面渲染结束后执行)
- 如果回调函数中,需要渲染页面/更新,则应考虑数据合并后一次更新
// 修改简单数据
this.setData({
msg: 'welcome back'
})
//修改复杂数据;使用了回调函数 cb
this.setData({
"userInfo.uage": 24
}, cb)