1、小程序开发官方技术文档
https://developers.weixin.qq.com/miniprogram/dev/framework/
2、关于变量对象data 和 前端wxml取后台js变量值
2.1 页面变量对象data
对象data 有两个方面用途
第一,前端wxml的数据渲染是通过设置此对象中定义的变量进行关联展现的
第二,定义JS页面中的页面局部变量,使其整个页面中可使用或调用
对象data定义的变量支持各种数据类型,string,int,[],{}
第一.wxml数据渲染,只要通过设置data值(this.setData({…}))即可
如:
wxml页面:detail对象中包含有TaskBillCode与BillDate两个属性
js页面:
第二.页面变量
定义:
存储:
使用:
2.2前端wxml取后台js变量值
1.js后台只能通过设置Data里的变量值( this.setData({}) ),前台wxml才能得到渲染 wxml以双括号取变量值 { { var }}
JS:
设置变量值 :
WXML:
2. 列表渲染,即数据List 用循环进行渲染 wx:for="{
{ taskItems}}" 默认子项为item
3、循环遍历(img)
wxml页面
在js文件中
4.关于多数据的数据类型,目前wxml取变量只支持数组,并不支持对象
这里面的billStatus 只能定义为数组类型,才能支持wxml用变量取数组的值
data {
billStatus:[]
}
如定义为下面这样
data {
billStatus:{}
}
则会导致 { {billStatus[item.Status]}} 取不到值 ,但代入数值还是可以取到 { {billStatus[1]}}
5.关于在全局里app.js定义数组
两种方式
一种是直接在全局变量对象中定义,但这样是指定不了下标的,下标只能从默认的0开始
别一种则是在全局变量对象中只定义动态数组变量,在加载后赋值 这样是能达到指定下标变量名的效果
3、多层次对象数组的赋值、动态赋值
开发中经常会从后台拿到类似数据:
data:{
info1:{
name: 'aa',
address: 'bb'
...
},
info2: [
{
name: 'aa' }, {
name: 'bb' } ...
]
}
如果要修改 `name = 'cc'` 怎么做呢?
一般我们这么写:
this.data.info1.name = 'cc' // 没用
this.setData({
info1.name: 'cc', // 编辑器报错
'info1.name': 'cc' // 也没用
})
解决方案:
第一步:先用一个变量,把(info1.name)用字符串拼接起来。
第二步:将变量写在[]里面即可。
const _k1 = `info1.name` // 拼接已知属性
const _k2 = `info2[${
index}].name` // 拼接动态属性
this.