全局骨架屏,即在網頁內容未加載完畢前出現的占位符。它的作用是提高用戶體驗,使用戶在等待加載過程中不會感到無聊或者焦慮,同時也是一種網站性能優化的手段。Vue是一個使用了虛擬DOM的框架,因此它可以很方便地實現全局骨架屏。
Vue提供了一個插件
// 安裝插件 npm i vue-skeleton-loading -S // 引入插件 import VueSkeletonLoading from 'vue-skeleton-loading' // 注冊插件 Vue.use(VueSkeletonLoading)
在組件中使用全局骨架屏,只需要在組件的options對象中添加loading屬性即可。loading屬性是一個對象,可以設置占位符位置、占位符樣式、占位符數量等等。比如,設置一個3部分的占位符:
export default { data() { return { } }, loading: { skeletonProps: { bgcolor:'#333' }, slotProps: { avatar: { borderRadius: '50%', height: '80px', width: '80px' }, name: { height: '20px', width: '120px', borderRadius: '4px', margin: '10px 0' } } } }
上述代碼會在頁面加載時顯示一個黑色的背景,同時在占位符的頭像和名稱位置顯示樣式為卡片的占位符。
除了Vue-Skeleton-Loading以外,Vue還有其他一些優秀的全局骨架屏插件,例如vue-paginate-skeleton、vue-content-loading等等。這些插件提供了一些API,可以更加靈活地進行配置和自定義,可以根據項目的需要進行選擇。同時,也可以根據自己的需求編寫自己的全局骨架屏組件,實現更加專業的業務需求。
總之,全局骨架屏在Vue中的實現是非常簡單的,它可以提高網站的用戶體驗,同時也可以減輕網站的負擔,是一種值得推廣的網站性能優化的措施。
下一篇python 等差數列