微信小程序App()方法与getApp()方法
如何在其他子页面取得app.js里的全局变量呢?解决方式如下:
App()
注册一个小程序
小程序的入口方法
//app.jsApp({ onLaunch: function(options) { console.log("onLaunch"); }, onShow: function(options) { console.log("onShow"); // Do something when show. }, onHide: function() { console.log("onHide"); // Do something when hide. }, onError: function(msg) { console.log(msg) }, test:function() { console.log("I am func from App.js"); }, globalData: { userInfo:null, helloFromApp:'Hello,I am From App.js' }})在其他子页面如何使用呢?
demo.js
var app = getApp();console.log(app.globalData.helloFromApp); // 调用全局变量app.test();Page({})结果如下:
[外链图片转存失败(img-aXYiTw0g-1562297845729)(1)]
我们发现,全局变量和全局方法都被调用了。
1.通过getApp获取全局对象,然后进行全局变量和全局方法的使用。
2.App() 必须在 app.js 中注册,且不能注册多个。
不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。
3.不要在 onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。













