-
[置顶]短信API接口,短信接口怎么对接
本文讲述了短信API接口,短信接口怎么对接。一、关于短信API接口第三方短信服务商提供短信API接口,短信一般是编辑好内容,调用接口发送即可。我们这里提供一个注册好的账号,其中短信API服务器地址为:...
-
[置顶]热门好用的空号检测API推荐,空号检测API数据接口
本文讲述了热门好用的空号检测API推荐,空号检测API数据接口。空号检测,也称号码检测,空号过滤,号码筛选等,是基于运营商大数据及流量使用情况返回手机号码状态,比如 实号、空号 等。今天就给大家推荐一...
-
[置顶]语音验证码短信原理的深入解析
语音合成技术语音合成技术(Text-to-Speech,TTS)是一种将文本信息转换为语音输出的技术。它通过计算机算法和声音合成器,将文本中的文字逐个转换为语音信号,使计算机能够以自然语言的方式朗读出...
-
-
-
-
-
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:minHeight="48dp" alt="Rxjava+Retrofit+MVP实现购物车功能" title="Rxjava+Retrofit+MVP实现购物车功能" width="200" height="150">
Rxjava+Retrofit+MVP实现购物车功能
Rxjava+Retrofit+MVP实现购物车功能本文实例为大家分享了Rxjava Retrofit实现购物车的具体代码,供大家参考,具体内容如下效果图:1.依赖annotationProcesso...
-
-
-
可以看到,DOM里
面有且仅有一个 div#app ,当js被执行完成之后,此 div#app 会被 整个替换掉 ,因此,我们可以来做一下实验,在此div里面添加一些内容:
Hello skeleton
Hello skeleton
Hello skeleton
打开chrome的开发者工具,在 Network 里面找到 throttle 功能,调节网速为“Slow 3G”,刷新页面,就能看到页面先是展示了三句“Hello skeleton”,待js加载完了才会替换为原本要展示的内容。
现在,我们对于如何在Vue页面实现骨架屏,已经有了一个很清晰的思路——在 div#app 内直接插入骨架屏相关内容即可。
三、易维护的方案
显然,手动在 div#app 里面写入骨架屏内容是不科学的,我们需要一个扩展性强且自动化的易维护方案。既然是在Vue项目里,我们当然希望所谓的骨架屏也是一个 .vue 文件,它能够在构建时由工具自动注入到 div#app 里面。
首先,我们在 /src 目录下新建一个 Skeleton.vue 文件,其内容如下:
.skeleton {
position: relative;
height: 100%;
overflow: hidden;
padding: 15px;
box-sizing: border-box;
background: #fff;
}
.skeleton-nav {
height: 45px;
background: #eee;
margin-bottom: 15px;
}
.skeleton-swiper {
height: 160px;
background: #eee;
margin-bottom: 15px;
}
.skeleton-tabs {
list-style: none;
padding: 0;
margin: 0 -15px;
display: flex;
flex-wrap: wrap;
}
.skeleton-tabs-item {
width: 25%;
height: 55px;
box-sizing: border-box;
text-align: center;
margin-bottom: 15px;
}
.skeleton-tabs-item span {
display: inline-block;
width: 55px;
height: 55px;
border-radius: 55px;
background: #eee;
}
.skeleton-banner {
height: 60px;
background: #eee;
margin-bottom: 15px;
}
.skeleton-productions {
height: 20px;
margin-bottom: 15px;
background: #eee;
}
接下来,再新建一个 skeleton.entry.js 入口文件:
import Vue from 'vue'
import Skeleton from './Skeleton.vue'
export default new Vue({
components: {
Skeleton
},
template: '
' })
在完成了骨架屏的准备之后,就轮到一个关键插件 vue-server-renderer 登场了。该插件本用于服务端渲染,但是在这个例子里,我们主要利用它能够把 .vue 文件处理成 html 和 css 字符串的功能,来完成骨架屏的注入,流程如下:
四、方案实现
根据流程图,我们还需要在根目录新建一个 webpack.skeleton.conf.js 文件,以专门用来进行骨架屏的构建。
const path = require('path')
const webpack = require('webpack')
const nodeExternals = require('webpack-node-externals')
const VueSSRServerPlugin = require('vue-server-renderer/server-plugin" alt="Vue页面骨架屏注入方法" title="Vue页面骨架屏注入方法" width="200" height="150">
-
-