开发微信小程序也有一段时间了,从小白到现在不那么白,这期间也一直在学习相关的知识,在此记录一下所用到的知识点。
没有先后顺序,想到哪写到哪。
关于小程序全局变量和缓存中的变量
生命周期:全局变量每次关闭小程序重新打开的时候都会更新,缓存的更新需要调用wx.setStorage()方法重新赋值。
全局变量
全局变量顾名思义就是整个小程序所有页面都能用,但是需要在app.js中进行如下设置
//app.js
App({
globalData: {
name: '张三',
age: 10
}
})
如果在app.js中获取globalData,用this就可以了
如果在其他页面操作globalData使用如下方法:
//index.js
var app = getApp();
Page({
onLoad: function() {
//获取
this.name=app.globalData.name;
this.age=app.globalData.age;
//重置
app.globalData.name = "小红";
app.globalData.age= 20;
}
})
缓存
缓存也是所有页面都可以使用,但是用之前需要存储数据。
//存数据
wx.setStorage("name",this.data.name);
//取数据
wx.getStorage("name");
当 setStorage 之后可以去到开发者工具里面查看 这是没有保存值的情况
javaScript函数
(x,y)=>x*y
等价于
function(x,y){
return x*y;
}
javaScript中高阶函数,map/reduce
map能处理一个参数的数组,
arr.map((x)=>x*x);
reduce能处理两个参数的数组;
arr.reduce((x,y)=>x*y);
slice() 方法可从已有的数组中返回选定的元素
arrayObject.slice(start,end)
start位必填,如果只有start则从start开始知道数组最后一位
小程序switchTab 跳转不刷新页面解决办法:
把switchTab 换成reLaunch
wx.reLaunch({
url: '../index/index',
})
微信小程序页面延时跳转
wx.showToast({
title: '取消成功!',
icon: 'succes',
duration: 2000,
mask: true
})
setTimeout(function(){
wx.switchTab({
url: '../index/index',
})
},2000)
.json文件不能加注释,会报错
shift+alt+F 小程序格式化代码快捷键