生命周期函数的基础介绍
app.js里会存放一个App对象,里面绑定了一些生命周期函数,称为注册小程序
app.js里的内容
App({
/**
* 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
*/
onLaunch: function () {
console.log("初始化完成时回调")
},
/**
* 当小程序启动,或从后台进入前台显示,会触发 onShow
*/
//options参数里有小程序的打开方式
onShow: function (options) {
console.log("页面显示的时候回调")
},
/**
* 当小程序从前台进入后台,会触发 onHide
*/
onHide: function () {
},
/**
* 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
*/
onError: function (msg) {
}
})
onshow有一个参数options,这个参数onLaunch默认也是有的,只是没有显示出来
options参数里有一个场景值,对应着小程序的进入方式,比如扫码进入、小程序入口进入之类,可以通过switch语句对于不同的进入场景定制功能
onShow: function (options) {
console.log(options)
switch(options.secene){
case 1001:
break;
case 1005:
break;
}
}
也可以通过onLaunch做同样的操作
通过生命周期函数来获取用户信息
通过按钮获取用户信息,在这里就不能使用bindtap来绑定函数了,而是用bindgetuserinfo来绑定,并且按钮要设置打开格式open-type
假定我们的主页面是home
那么home.wxml内容如下:
<button open-type="getuserinfo"
bindgetuserinfo="handlegetUserInfo"
size="mini">
授权
</button>
handlegetUserInfo函数存放在home.js中
Page({
handlegetUserInfo(event){
console.log(event)
}
})
按下授权按钮后就可以在detail的UserInfo中看到用户的相关信息了
通过open-data组件展示用户信息
可以通过官方文档查看open-data type的值open-data官方文档
home.wxml中
//展示用户名
<open-data type="userNickName"></open-data>
//展示用户头像
<open-data type="userAvatarUrl"></open-data>
open-data只能展示用户信息,不能真正拿到并传给服务器
生命周期函数还可以定义全局变量
app.js 的App对象中
globaldata:{
name:"dean",
age:18
}
页面要获得全局数据时,通过getApp函数
home.js中
const app=getApp()
Page({
data:{
pname:app.globalData.name,
page:app.globalData.age
}
})
home.wxml中就可以使用pname和page
<view>{{pname}}</view>
<view>{{page}}</view>