微信小程序全局邏輯配置(app.js)
小程序中邏輯文件分為頁面邏輯文件和小程序邏輯文件,app.js便是小程序邏輯文件,在這個文件中,我們可以通過App 0函數注冊小程序生命周期函數、全局方法和全局屬性,已注冊的小程序實例可以在其他邏輯層代碼中通過getApp 獲取。
1.注冊小程序
App (函數用于注冊一個小程序,參數為一個Object對象,在這個參數對象中我們可以注冊自定義方法和屬性供全局使用,就像在quick start項目中,我們利用App 0 注冊了用戶登錄信息。App 0函數必須在app.js中注冊,且不能注冊多個,其參數屬性如下:
-onLaunch:生命周期函數,監(jiān)聽小程序初始化。當小程序初始化完成時,就會觸發(fā)onLaunch,onLoaunch事件全局只會觸發(fā)一次。
-onShow:生命周期函數,監(jiān)聽小程序顯示。當小程序啟動,或者從后臺進入前臺顯示時都會觸發(fā)onShow。
-onHide:生命周期函數,監(jiān)聽小程序隱藏。當小程序從前臺進
入后臺會觸發(fā)。
·其他:開發(fā)者可以添加任意的函數或數據到Object參數中,這些屬性會被注冊到小程序對象中,其他邏輯文件可以通過getApp 0函數獲取已注冊的小程序實例。
關于小程序生命周期函數的執(zhí)行時機我們要特別講解一下:當啟動一個小程序時,首先會先依次觸發(fā)onLaunch和onShow方法,然通過app.json的pages屬性注冊相應的頁面,最后根據默認路徑加首頁;當用戶點擊左上角關閉,或者按了設備Home按鈕離開微信時小程序并沒有直接銷毀,而是進入了后臺,這兩種情況都會觸onHide方法;當再次喚醒微信(針對點擊Home按鈕離開微信)或次從微信中打開小程序時,又會從后臺進入前臺,這時會觸onShow方法。只有當小程序進入后臺一定時間,或者系統(tǒng)資源占過高,才會被真正銷毀。
注冊小程序示例代碼如下:
App( {
onLaunch : function(){
Ⅱ小程序初始化完成時執(zhí)行},
onShow : function() {l顯示小程序時執(zhí)行},
onHide : function() {
Ⅱ隱藏小程序時執(zhí)行
},
globalFunction:我是全局函數',globalData:我是全局屬性'
});
⒉.獲取小程序實例
注冊小程序后,在其他邏輯文件中,可以通過全局函數getApp 0獲取小程序實例,例如:
var app = getApp();
console.log( app.globalData );
在App (注冊的函數中,我們可以使用this直接獲取App實例,而不用getApp 0方法。通過getApp (獲取實例后,可以獲取注冊的屬性、調用注冊的方法,但不要私自調用生命周期函數(onLaunch、onShow、onHide),這樣會打亂項目邏輯,除非你已經對它們很熟悉。
2.3.3 全局樣式(app.wxss)
app.wxss是全局樣式表,對項目中每個頁面都有效,可將一些系統(tǒng)級別的統(tǒng)一樣式風格寫入這個文件,頁面渲染時,框架頁中的.wxss文件樣式會覆蓋app.wxss中相同的選擇器樣式。WXSS是小程序基于CSS拓展的一套樣式語言,它實現了CSS大部分規(guī)則,其具體介紹請參考下一節(jié)。
小程序框架主體相關的文件app.json、app.js、app.wxss我們已經全部介紹完成,下面為大家介紹框架頁面相關的文件。
您當前瀏覽的文章:《微信小程序全局邏輯配置(app.js)》由小程序開發(fā)服務品牌九尾狐整理發(fā)布。
轉載請注明:http://www.jytsl.com.cn/index.php/shows/6/22.html
文章標簽:


