分析原因: 为什么刷新会出现闪烁的问题?

因为浏览器是html从上到下执行,
先执行Dom元素
然后执行javaScript元素
当走到javaScript时,Dom元素已经开始走动,所以如果网慢的话,会显示的特别明显

解决方法: 使用 v-cloak

用法:

v-cloak指令 和 css规则 [v-cloak] {display:none} 一起用时,这个指令可以隐藏未编译的Mustache标签直到实例准备完毕。

原理:

带有v-clock的的元素设置为display:none,隐藏掉,在等到vue解析到带有v-clock的节点时候,会把attribute和class同时remove掉,这样就可以实现防止节点的闪烁。

实例:
[v-cloak] {
display: none; 
} 
<div v-cloak>
{{ message }}
</div>
图解:

html 代码

  1. 加在挂载点(#app),可以让整个页面在未加载完JS时,整个页面都不渲染, 如果不需要,只需要在对应闪烁的标签中加v-cloak即可

在这里插入图片描述
css 代码
在这里插入图片描述
如有帮助,点个小赞鼓励下!!!

Logo

前往低代码交流专区

更多推荐