在使用vue绑定数据的时候,渲染页面时会出现变量闪烁,例如
<div class="#app">
<p>{{value.name}}</p>
</div>
在加载的时候会看到
{{value.name}}
在页面出现,过了几秒之后才会渲染数据,在vue中有个指令可以解决这个问题,v-cloak
那么,v-cloak要放在什么位置呢,是不是每个需要渲染数据的标签都要添加这个指令,经过试验发现,v-cloak并不需要添加到每个标签,只要在el挂载的标签上添加就可以,
<div class="#app" v-cloak>
<p>{{value.name}}</p>
</div>
而且,在css里面要添加
[v-cloak] {
display: none;
}
这样就可以防止页面闪烁了。
但是有的时候会不起作用,可能的原因有二:
1、v-cloak的display属性被层级更高的给覆盖掉了,所以要提高层级
[v-cloak] {
display: none !important;
}
2、样式放在了@import引入的css文件中
v-cloak的这个样式放在@import 引入的css文件中不起作用,可以放在link引入的css文件里或者内联样
---------------------
作者:bobobocai
来源:优快云
原文:https://blog.youkuaiyun.com/bobobocai/article/details/70676951
版权声明:本文为博主原创文章,转载请附上博文链接!

本文介绍了在Vue项目中如何使用v-cloak指令解决页面加载时的数据闪烁问题,通过在根元素上添加v-cloak指令并设置CSS样式,可以有效避免页面未加载完成时显示{{ }
205

被折叠的 条评论
为什么被折叠?



