微信小程序注册函数App()
在app.js里是一个App()函数,定义全局函数和数据,还可以用来注册一个微信小程序。在App()函数里有一些生命周期函数
App({
onLaunch(option){
//当微信小程序完成初始化时执行
},
onShow(option){
//微信小程序启动,或从后台进入前台显示
},
onHide(){
//微信小程序从前台进入后台时
},
onError(msg){
//当微信小程序发生脚本错误,或者API调用失败时触发
},
userFunc(){
console.log('自定义函数');
},
globalData:{
num:100
}
})
在页面js里,如果要获取全局数据,需要通过执行getApp()获取微信小程序App实例对象,然后就可以调用到globalData
var appInstance = getApp();
console.log(appInstance.globalData.num);
ps:1.App()是单例的,只能在app.js注册,只能有一个
2.在app内只需要this就能拿到app实例对象
每个页面的文件夹内都有一个js文件,如index文件内有index.js,logs文件夹内有logs.js
在这个js文件夹内有一个Page()函数,用来注册一个页面,传入一个obj参数,在这个对象内可以定义页面的各种方法
data:页面的初始数据
onPullDownRefresh:监听用户下拉动作
onReachBottom:监听上拉触底事件的处理函数
onShareAppMessage:用户单机右上角转发
onPageScroll:页面滚动触发事件的处理函数
onResize:页面尺寸改变时触发
this.setData:修改data当中的数据并且响应到页面上
模块化:
新建一个js文件或者在utils文件当中,使用module.export导出一个对象,,在需要的文件使用require引入
util.js
function sayHello(){
console.log('hello');
}
function sayHi(){
console.log('hi');
}
module.exports = {
sayHello,
sayHi
}
index.js:
const commom = require('../../utils/util');
Page({
onLoad() {
//common时一个对象,里面包含了两个函数sayHi,sayHello
console.log(commom);
}
})