工作上经常做一些蓝牙的设备开发,但是一直没有一个比较好的软件工具来配合自己的蓝牙设备,之前在windows上面使用C#做过一个,感觉用PC已经是很古老的方式了,都2021年了,肯定得使用手机才显得高大上。
于是乎开始尝试了IOS开发,Android开发,发现太庞大了,学习成本太高,并且也比较难兼容所有的手机,于是掉头想到了小程序。
说干就干,首先就是小程序的一些开发基础要学习
小程序文件结构的基础
onLaunch() {
// 展示本地存储能力
const logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
console.log("story log")
// 登录
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
console.log("logining")
}
})
},
小程序非常类似前端的开发,基本上一个页面有三个文件,类似xml前端布局文件,类似css的样式文件,还有一个最重要的类似js的Javascript文件,大部分逻辑程序都在js文件中执行。
上面的onLaunch()函数就是在js中的一个事件,他会在页面加载的时候执行。
小程序的第一个页面
小程序运行时的第一个界面在APP.json中设置,这个文件中会列出所有页面,但是排在第一排的这个就是小程序默认启动时的页面。
"pages":[
"pages/index/index",
"pages/logs/logs"
],
如何在page外调用page中的数据
在js 文件中如何在page()之外的地方调用page()内定义的函数?
1.在全局let _this ;
2.在onload函数里面赋值 _this = this;
3.在Page外部加一个延迟调用就可以了,延时应该是为了页面加载。确定加载完也不需要延时了。
如何修改page中的数据
修改page中data的方法是使用this.setData方法,按照KEY:Value进行修改。如下面代码是增加一个数组元素。
//要增加的数组
var newarray = [{
avatarUrl:'111',
name:name,
gender:'nv',
post:'12',
fans:15,
isFollow:true
}];
this.data.friends = newarray.concat(this.data.friends);
this.setData({
'friends': this.data.friends
});