微信小程序getApp()和App()方法详解
App()是一个小程序的入口方法,写在app.js文件里。
开发时我们主要是把一些全局变量,全局方法放在App()里面,比如用户名,请求数据时的URL等。
// app.js
App({
onLaunch() {
// 展示本地存储能力
const logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
// 登录
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
}
})
},
globalData: {
//全局变量
userInfo: null,
globalReqUrl: "http://localhost:8080" //请求数据时的URL
}
})
那么我们该如何调用这些全局变量呢?
二、getApp()
getApp()方法用于获取App()的实例:
//在其他页面的js文件里
const app = getApp();
this.data.username = app.globalData.userInfo;
this.data.url= app.globalData.globalReqUrl;
当然,也可以用在从一个页面向另一个页面传递数据:
var item = this.data.list[index];
var app = getApp();
app.item =item; //注意原来的App()当中并没有item这个数据。
//然后在其它页面的js文件里用上面的方法获取item即可。