博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue灵活骨架屏组件封装
阅读量:6814 次
发布时间:2019-06-26

本文共 1278 字,大约阅读时间需要 4 分钟。

骨架屏,就要精准定制才行

组件源码及其完整示例,戳这里?????

PC观看示例更佳

关于骨架屏概念

骨架屏,其实就给用户展示一个页面的大体骨架,不会让用户有等待时间过长的感觉。实际也比菊花式加载用户体验也会好很多

我的骨架屏解决方案

既然是骨架屏,作为一个用户视觉缓冲工具,很多地方可能会用。为了实现简单,我封装了一个骨架屏的组件。

原理

使用者将想要的布局封装为一个树状的数据结构,然后让组件去递归解析

在这里,我使用了Vue的递归组件。

复制代码

let template =  `      
`;Vue.component('item', { name: "item", template: template, props: ["paragraph", "active"]});复制代码

通过解析一个树状的数据结构,进行递归调用渲染。最后渲染出整个骨架屏。

数据结构方面,可以把一个整体分割开来。像上面的那个示例,我可以把它分为4行(row)。

然后每一行里面,分别有一条矩形。矩形的css我也可以定义

像这一个,可以把它分割为两列(col)。然后第一列里,有一个圆形。第二列里则有两个row(行)。上下两行也是两条矩形。

行里面可以嵌套列,列里面也可以嵌套行。但是圆形/矩形里面就不可嵌套东西了

示例:

有哪些属性?

目前仅支持 paragraph  和 active 两个属性。

  • paragraph:骨架屏的数据,是一个标准格式的数据对象
  • active:是否开启动画

paragraph Object

参数 说明 类型 可选值 默认值
type 父容器类型 string col / row / rectangle / circle none
cols / rows 子模块数组 Array - false
style 矩形/圆形 主体的样式 Object - {}
rowStyle / colStyle 矩形/圆形的主体其外部盒子的样式 Object - {}

转载地址:http://axzzl.baihongyu.com/

你可能感兴趣的文章
PHP启动时配置文件显示: Loaded Configuration File => (none)
查看>>
JDBC的CRUD操作之删除操作
查看>>
python装饰器 运行时间
查看>>
Python编写表白神器!向你的女神告白吧!!
查看>>
[笔记]在eclipse中调试maven项目的3种方法
查看>>
关于JEPLUS软件介绍——JEPLUS软件快速开发平台
查看>>
连载32:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
查看>>
什么是响应式网站 为什么会受到客户的喜欢
查看>>
keepalived实现nginx的高可用 + nginx负载均衡
查看>>
阿里云Redis多线程性能提升思路解析
查看>>
JAVA通信
查看>>
动态增加UIView到当前视图中
查看>>
怎么能看透信封
查看>>
css正方形照片墙
查看>>
找工作的程序员必懂的Linux
查看>>
网络基础、进程、计划任务
查看>>
shell脚本实现杨辉三角形
查看>>
ComponentOne 2019V1火热来袭!全面支持 Visual Studio 2019
查看>>
装了一款系统优化工具,如何从Mac上卸载MacBooster 7?
查看>>
使用符号表调试release程序
查看>>