App()
注冊一個小程序
小程序的入口方法
//app.js
App({
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(); // 調用全局方法
我們發現,全局變量和全局方法都被調用了。
通過getApp獲取全局對象,然后進行全局變量和全局方法的使用。
App()
必須在app.js
中注冊,且不能注冊多個。- 不要在定義於
App()
內的函數中調用getApp()
,使用this
就可以拿到 app 實例。
this.globalData.userInfo = res.userInfo
- 不要在 onLaunch 的時候調用
getCurrentPages()
,此時 page 還沒有生成。