全域組件
微信小程式組件關系中,父組件使用子組件需要在父組件index.json中引入子組件,然后在父組件頁面中使用,這種組件的對應狀態是一對一的,一個組件對應一個頁面,如果有一個全域彈窗(登錄),那么每個頁面引入一次組件會非常麻煩,這里就需要封裝全域彈窗,在頁面直接引入使用即可,
微信小程式提供全域組件,只需要在app.json中引入組件,該組件就會被注冊為全域組件,父組件的json檔案不需要引入組件即可使用,

"usingComponents": {
"whatStore": "/components/whatStore/index"
},
在usingComponents中注冊的組件就是全域組件,在小程式的任意頁面都可以引入并使用組件

直接將組件寫入頁面即可,組件的使用方法和普通組件一致,
全域實體
App(Object object)

App()必須在app.js中呼叫,必須呼叫并且全域只能呼叫一次,在App()中有應用的的生命周期,全域函式可以寫在App()中,通過getApp()獲取App()上掛載的方法,

// 頁面上使用
let app = getApp()
console.log(app.sayHi()); // 全域函式

可以在App()上掛載登錄方法,當用戶token過期或者未登錄時,通過全域函式配合全域彈窗來發起登錄,也可以只呼叫全域函式默認重繪token,
getApp()

在getApp()上定義的引數為全域引數,都可以在小程式任意頁面直接使用,建議將引數添加到globalData上,
// A頁面
let app = getApp()
app.globalData.params = '全域引數'
// B頁面
let app = getApp()
console.log(app.globalData.params ) // 全域引數
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/544884.html
標籤:JavaScript
