小程式(uniapp)骨架屏應用

2022-05-12 19:58:13 字數 3140 閱讀 2610

1.基本理解

骨架屏實現原理很簡單,就是通過佔位線框元素,漸進式載入資料。

骨架屏是結合了懶載入功能,在頁面沒有載入完成之前,先呈現頁面基本結構。

效果圖

注意點:

1, 引入組建後, template 標籤內加入

2,data物件中設定showskeleton: true// 預設一開始進入頁面載入骨架屏內容。

3, 渲染資料。

datalist: [,]

如果要應用小程式,把uni替換成wx即可

skeleton.vue

<

template

>

<

div>

<

div

class

="wrap"

:style

="">

<

div

v-for

="(item,index) in skeletonrectlists"

:index

='index'

:key

='index'

class

="chiaroscuro"

:style

="">

div>

<

div

v-for

="(item,index) in skeletoncirclelists"

:index

='index'

:key

="'info2-'+index"

class

="chiaroscuro"

:style

="">

div>

div>

div>

template

>

<

script

>

/*eslint-disable

*/export

default

, selector: ,

},data() ,

skeletonrectlists: ,

skeletoncirclelists: ,

};},

components: {},

methods:

-rect`)

.boundingclientrect()

.exec(

function

(res) );

},radiushandle:

function

() -

radius`)

.boundingclientrect()

.exec(

function

(res) );

},},

mounted:

function

() );

const that

=this

;

//繪製背景

uni .createselectorquery()

.selectall(`.$`)

.boundingclientrect()

.exec(

function

(res) );

//繪製矩形

this

.recthandle();

//繪製圓形

this

.radiushandle();

},};/*

eslint-enable

*/script

>

<

style

scoped

>

.wrap

.chiaroscuro

@keyframes placeholdershimmer

100%

}style

>

index.vue 頁面

<

template

>

<

view

class

="content "

>

<

skeleton

selector

="skeleton"

bgcolor

="#fff"

v-if

="showskeleton"

>

skeleton

>

<

view

class

="skeleton"

>

<

image

class

="logo skeleton-rect"

src="/static/logo.png"

>

image

>

<

view

class

="text-area skeleton-radius"

>

<

text

class

="title"

>}

text

>

view

>

view

>

view

>

template

>

<

script

>

import skeleton from

'../index/skeleton

'export

default

},components:,

created() ,

methods: ,

2000

) },}}

script

>

uniapp實現骨架屏

前言 使用者在等待資料渲染的時候,有可能因為網路速度慢,手機硬體等問題,造成等待時間延長,使得使用者體驗不好。之前的做法是放個載入中的圖示,而現在是直接根據頁面原有元素繪製圖形的方式,讓使用者有種頁面就快渲染好的錯覺。載入過程效果圖 如圖,從圖一到圖二,最底部多出了乙個動態載入的骨架,模擬同一頁面多...

uni app 小程式生成海報

有需要的可以封裝成元件使用。context.beginpath 設定線寬 context.linewidth 4 設定間距 引數為無限陣列,虛線的樣式會隨陣列迴圈 context.setlinedash 8,8 移動畫筆至座標 x20 y20 的位置 context.moveto 20,20 繪製到...

uni app微信小程式登入授權

首先是需要用到乙個授權按鈕來觸發獲取使用者資訊授權 關鍵在於 open type 為 getuserinfo 然後有個 getuserinfo的事件,把獲取授權介面寫到該事件裡面去 方法如下 ifdef mp weixin uni.getprovider fail fail else endif 在...