小程式分屏載入實踐實戰演練

2022-09-23 18:09:09 字數 1903 閱讀 4320

針對小程式首次載入包的問題,小程式提出了分包載入的功能,這裡不做詳細描述,可以去看下官方文件

這裡我選擇的是針對渲染節點去做優化。

在微信的api文件裡面,有乙個判斷節點與可視區域的api

intersectionobserver 物件,用於推斷某些節點是否可以被使用者看見、有多大比例可以被使用者看見

這個時候就在想,能不能建立intersectionobserver跟元件之間的關係,使得元件進入可視區域的時候,就顯示自己的內容,否則隱藏自己,這樣達到動態載入模組的目的。

// 偽**

// 建立監聽

element.observer()

// 處理進入

observer.handleenterview(() => )

複製**

複製**

建立了基本技術方案之後,就開始到**層面了

component(,

// 在ready寫是因為元件在這個時候,才在檢視層布局完成

ready () )

this.observer.disconnect()

this.observer = null

})},

detached ()

})複製**

你們以為這就完了麼,並沒有。

對於乙個小程式頁面,它是可以由template或者component組成的。對於template來說,需要在page裡面定義,而且如果觀察的東西比較多的話,需要設定observeall:all,但是官方文件裡面有說同時選中過多節點,將影響渲染效能。

對於元件開發來說,如果每個元件都這樣寫的話,是否也會跟observerall:all一樣影響渲染效能,還不清楚,如果確實會影響的話也只能減少觀察物件,或者把做乙個大容器去觀察。但是如果每個元件都這樣寫的話也會非常的繁瑣。

這個時候,元件的好處就來了。在定義元件的時候,有乙個很神奇的屬性,他就是beh**iors。簡單點說,他其實就是乙個**復用機制。直接使用beh**iors可以使得元件自動獲得某些方法,屬性。利用這個特性,就可以在元件裡面少寫很多**了。

// mixin.js

module.exports = beh**ior(,

ready () )

this.observer.disconnect()

this.observer = null

})},

detached ()

})複製**

// component.js

let mixin = require('你的mixin路徑')

component()

複製**

複製**

或者你可以把整個observer做成元件,這樣去減少observer的數量,內聚一些模組

複製**

需要注意的是對於元件來說,如果observer的話就需要乙個觀察節點,並且這個觀察節點必須是高度不為0的可視物件,如果又想有高度又不想影響頁面位置的話可以用一些hack的方法

.component-observer

複製**

在使用intersectionobserver的時候,有試過用hidden屬性。但是實際上,hiiden也是會被渲染出來的,只是不顯示而已,並不會造成頁面載入速度的提公升

這裡是隨便拿的乙個demo去弄的,需要的話可以點選這裡

或者瀏覽小程式**片段

使用之前

使用之後

如果不動的話可以點選檢視 可以看得出是提公升是相當明顯的

image有乙個lazy-load的屬性,但是它只能在page以及在scroll-view使用,如果在其他地方的話是不是也可以用這個去做呢

複製**

// image-component js

component(,

},data: ,

ready () )

})}})

複製**

實戰 小程式授權登入的最佳實踐(一)

原始碼詳見 src request 所以,首先需要搞清楚有哪些需求。注 本文只針對小程式原生框架 對於大部分應用,並不是所有頁面 介面都需要登入才可訪問,這就要求登入功能需要實現 僅在需要登入的時候,中斷業務,進入登入流程,登入成功則自動進行之前中斷的業務 這很重要 失敗則提示錯誤資訊,如下 發現需...

小程式分包載入

開發者需要將小程式劃分成不同的子包,在構建時打包成不同的分包,使用者在使用 時按需進行載入。在構建小程式分包專案時,構建會輸出乙個或多個分包。每個使用分包小程式必須包含 乙個主包,所謂的主包,即放置預設啟動頁 tabbar 頁面,以及一些所有分包需要用到 整個小程式所有分包大小不超過 8m單個分包 ...

微信小程式實戰入門

一 簡介 參考 二 工程 參考 quickstart basic file.html 工具設計介面可調整機型 顯示百分比 資料連線方式。三 發布 個人上線了乙個木材材積計算器 兩天做的,有web前後端經驗很容易入手,有增加 共計 記錄功能 審核很快,一天審核結束 後來發現已經之前有公司做了,尷尬,而...