Vue v-if/v-show/插值表达式导致闪现的原因及解决办法

news/2024/7/10 2:45:52 标签: vue, 前端

在开发过程中经常会发现当页面明明不应该出现的元素或内容会闪现一下然后消失,最近研究了一下这个问题的原因和解决办法,这里和大家分享一下。

1.闪现的原因

这个问题是因为Vue要等到HTML DOM加载完成后才会执行JS的编译,所以对使用的指令如 v-if , v-show 或者使用了插值表达式 {{}} 都会出现闪现的情况。因为在这些判断条件或表达式执行之前,DOM已经渲染出来了,之后Vue才会执行相应的JS代码。

2.解决的办法

其实在了解了原因之后我们就有了大概的思路,既然是在JS执行之前会出现,那就让元素在JS执行之前都保持不显示就好了。那事情就分为两步:
•选择在JS执行前要隐藏的元素
•添加display:none样式

如何只定位JS执行前的元素呢?Vue有一个指令 v-cloak ,它的特殊之处在于 保持在元素上直到关联实例结束编译 。就是说这个属性会一直在元素上,直到编译结束。只需要在需要隐藏的元素上增加 v-cloak 指令即可。

在这里插入图片描述

carbon (3).png

接下来在CSS中定义隐藏样式即可:

到这里,这个问题就解决了。Vue是前端技术的一次大的跃进,有坑并不可怕,相信办法总比问题多。
发现文章中的错误,或者有更好的建议,欢迎评论或进前端全栈群:866109386,来交流讨论吹水。


http://www.niftyadmin.cn/n/1301315.html

相关文章

CocosCreator设置自定义网页调试尺寸

CocosCreator的自定义尺寸 只有普通的几种,没有iphoneX这种新手机的尺寸,当然除了iphoneX,我们也可以自定义其他任意的尺寸。 现在我们以iphoneX为例: 在windows中: 我们右键CocosCreator图标,出现下图 …

springcloud2+gateway网关配置中心1(包含熔断,jwt认证,限流)

第一次我也问我老大为啥不用zuul,官网有现成的指导,老大一句话:gateway性能比zuul优化效率提升20%,zuul版本落后(2x版本的code还是用的1x的源码),支持webflux,整合stream流;泪奔的我…

javascript的call方法简单总结

关于call这个方法大家应该都会用到过,我也一样,但是一直没有深入了解,今天学习的时候总结了call的两个主要用处: 1、继承 2、回调的时候设置回调方法的调用对象 继承 就是调用父类的构造方法,来进行初始化&#xf…

Vue与Element走过的坑。。。。带上Axios

1.Axios中post传参数组(java后端接收数组) 虽然源数据本身就是数组,但是传参时会自动变成key:数值或者服务器无法接收的对象,如下 如果不仔细看,很容易认为这两种情况没毛病。。(后端不背锅,哈…

springcloud2+gateway网关配置中心2(包含熔断,jwt认证,限流)

下面介绍1未讲完的网关功能 1重试功能,配置如下 这里可以不写实现类,采用默认的方式配置,然后发送一个http的GET请求,试着断开服务端查看后台: 证明配置正确,起作用了! 2Jwt拦截器过滤 直接配置…

Mac终端提示Could not determine audit condition

文章转载自:https://blog.csdn.net/KingOfOnePiece/article/details/82149502 原因:自己修改了系统变量 结果:导致终端显示进程已完成 错误信息:login: Could not determine audit condition [Process completed] …

vue组件通信--注意事项及经验总结

组件间的通信是是实际开发中非常常用的一环,如何使用对项目整体设计、开发、规范都有很实际的的作用,我在项目开发中对此深有体会,总结下vue组件间通信的几种方式,讨论下各自的使用场景 文章对相关场景预览 父->子组件间的数…

关于ribbon的小测试

本文主要目的是解决实际工作中遇到问题,如何说服老板做cloud微服务项目!!! 现在社会数据说话,对一个外行讲再多的cloud的优势,还不如来个图形对比实在,本机测试,让数据说话 关于clo…