# 骨架屏的具体实现
因为之前主要是从一个由nuxt构成的视频项目出发去设计自动化骨架屏的,所以只需要把得到的骨架屏放在loading.vue,nuxt自动达到骨架屏的效果 但骨架屏具体究竟是怎么做到的?我看了几个文章,都不是以自动化,定制的思路,全是通用的模式,直接在最初的index.html中vue插入的节点(如下)
<div id='app'></div>
直接把骨架屏写进节点,但这样一是整个项目共用一个loading,二是只有在初始化时有效果
我不太确定第二点(现在在外面试不了),可以随意用vue-cli搭一个,改
index.html
,然后切成3g模式刷新来看
也没工夫再看其他文章了,自己从零琢磨琢磨好了
# 路由守卫
想了一下,如果要达到定制化,即某个页面用特定骨架屏,那么肯定要由某种方法知道出发页面和前往页面分别是什么,还要在路由切换之前,先把dom换了(和前面那种一样,只不过是每次路由切换都要先做一次节点写入,再让组件挂载),显然这比较对应路由守卫和$route的部分了。