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


Posted in Javascript onOctober 12, 2018

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

1.闪现的原因

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

2.解决的办法

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

  • 选择在JS执行前要隐藏的元素
  • 添加display:none样式

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

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

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

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

到这里,这个问题就解决了。Vue是前端技术的一次大的跃进,有坑并不可怕,相信办法总比问题多。

总结

以上所述是小编给大家介绍的Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Ext.MessageBox工具类简介
Dec 10 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
Nov 05 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
Dec 25 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
Mar 11 Javascript
JavaScript实现彩虹文字效果的方法
Apr 16 Javascript
Bootstrap每天必学之简单入门
Nov 19 Javascript
jQuery+Ajax实现限制查询间隔的方法
Jun 07 Javascript
AngularJS教程之MVC体系结构详解
Aug 16 Javascript
详解VueJs异步动态加载块
Mar 09 Javascript
最简单的vue消息提示全局组件的方法
Jun 16 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
Sep 25 Javascript
javascript实现时间日期的格式化的方法汇总
Aug 06 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
Oct 12 #Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
Oct 12 #Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
Oct 12 #Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
Oct 12 #Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
Oct 12 #Javascript
在JS循环中使用async/await的方法
Oct 12 #Javascript
代码实例ajax实现点击加载更多数据图片
Oct 12 #Javascript
You might like
php读取文件内容到数组的方法
2015/03/16 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
web3.js增加eth.getRawTransactionByHash(txhash)方法步骤
2018/03/15 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
对python中的xlsxwriter库简单分析
2018/05/04 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
2018/09/17 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
2018/11/29 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
如何写你的创业计划书
2014/01/07 职场文书
2014年母亲节寄语
2014/05/07 职场文书
部门活动策划方案
2014/08/16 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
地道战观后感
2015/06/04 职场文书
2015暑期社会实践通讯稿
2015/07/18 职场文书
关于车尾的标语大全
2015/08/11 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
go语言-在mac下brew升级golang
2021/04/25 Golang
html5调用摄像头截图功能
2022/01/18 Javascript
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS
python神经网络ResNet50模型
2022/05/06 Python