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 相关文章推荐
JScript 脚本实现文件下载 一般用于下载木马
Oct 29 Javascript
js 对小数加法精度处理示例说明
Dec 27 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
详解javascript遍历方式
Nov 11 Javascript
JavaScript的React框架中的JSX语法学习入门教程
Mar 05 Javascript
Vue.js每天必学之计算属性computed与$watch
Sep 05 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
Sep 20 Javascript
浅谈JavaScript正则表达式-非捕获性分组
Mar 08 Javascript
Vue.js路由vue-router使用方法详解
Mar 20 Javascript
js分页之前端代码实现和请求处理
Aug 04 Javascript
前端防止用户重复提交js实现代码示例
Sep 07 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
微信{"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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
DedeCms模板安装/制作概述
2007/03/11 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
2016/06/30 PHP
PHP微信支付实例解析
2016/07/22 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
Pro JavaScript Techniques学习笔记
2010/12/28 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
Javascript之BOM(window对象)详解
2016/05/25 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
使用Vue构建可重用的分页组件
2018/03/26 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
python使用PyV8执行javascript代码示例分享
2013/12/04 Python
python实现计算资源图标crc值的方法
2014/10/05 Python
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
Python实现某论坛自动签到功能
2019/08/20 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
银河香水:Galaxy Perfume
2019/03/25 全球购物
校园招聘策划书
2014/01/09 职场文书
房地产开发计划书
2014/01/10 职场文书
初二物理教学反思
2014/01/29 职场文书
数控个人求职信范文
2014/02/03 职场文书
购房协议书
2014/04/11 职场文书
电工技术比武方案
2014/05/11 职场文书
机械专业求职信范文
2014/07/15 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
结婚十年感言
2015/07/31 职场文书