1. setData 有两种形式写法
1>.整个赋值,适用于 单个元素 或者 整个集合 赋值
this.setData({
loadingHidden: false,
userInfo: userInfo
})
2>.有时需要对集合中的单个元素进行赋值,就需要使用这种
this.setData({
'userInfo.name': "ddjk",
'userInfo.nickName': "dhkdk"
})
不要忘了加单引号
2.wx.request 和http.request
wx请求只适合访问https,且url完整的请求
http适合于与服务器进行通信,服务器前缀固定
3.微信扫码携带参数跳转小程序页面
在小程序后台配置跳转规则
然后在扫码跳转的页面的OnLoad函数中加入以下代码: (注意不是app.js页面)
if(options.q != null){
//deviceID
let q = decodeURIComponent(options.q)
// 使用正则表达式匹配查询参数
const regex = /[?&]imei=([^&#]*)/.exec(q);
// 如果正则表达式匹配成功,那么匹配到的参数值将存储在regex[1]中
const imei = regex ? regex[1] : null;
console.log(imei)
if(q != null){
wx.setStorageSync('deviceID', imei)
}
}
使用正则表达式进行解析
4.小程序中扫码
wx.scanCode({
"scanType": "qrCode",
success(res){
}
})
扫码得到的结果是一个url,参数在其后的参数上,需要使用正则表达式进行解析
5.点击 tabBar 底部导航栏的一个tab触发一次事件
在需要触发事件的tab页面js文件中,加入以下代码:
onTabItemTap: function(item){
console.log("点击了 我的")
}
6.在集合类型的data中按 index 添加额外属性
data:{
machines:[
]
}
this.setData({
[`machines[${i}].position`]: address
})
7.前端获取网络资源是靠用户端的宽带,后端获取网络资源是靠服务器的宽带
- 当前端请求某个资源有延迟时,应该是由前端完成请求的,如果依靠后端请求,当多个用户请求时,后端服务器同时请求多个资源会有问题。
所以不是什么都靠后端来完成,前端并不只是简单的展示数据。
当连接设备时,用mqtt协议进行
8.小程序通过审核后还需要在后台发布
不起作用就是这的问题
9.在小程序中使用 wx.request请求资源服务时,需要额外再后台配置安全通信域名
不然在真机上不会发起请求,也就不会有数据响应。
但在开发调试环境下都可以正常请求。
10. block 标签不支持hidden ,view 标签支持
<!-- 根据activeIndex动态显示对应的视图 -->
<view hidden="{{activeIndex != 0}}">视图一的内容</view>
<view hidden="{{activeIndex != 1}}">视图二的内容</view>
<view hidden="{{activeIndex != 2}}">视图三的内容</view>