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 相关文章推荐
ko knockoutjs动态属性绑定技巧应用
Nov 14 Javascript
js跑步算法的实现代码
Dec 04 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
May 04 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
Mar 05 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
Jan 22 Javascript
JS+CSS3模拟溢出滚动效果
Aug 12 Javascript
Javascript实现跨域后台设置拦截的方法详解
Aug 04 Javascript
npm 更改默认全局路径以及国内镜像的方法
May 16 Javascript
浅谈JS对象添加getter与setter的5种方法
Jun 09 Javascript
Koa代理Http请求的示例代码
Oct 10 Javascript
vue+element-ui实现表格编辑的三种实现方式
Oct 31 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
Jul 21 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
基于mysql的论坛(4)
2006/10/09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
php 读取文件乱码问题
2010/02/20 PHP
PHP随机生成随机个数的字母组合示例
2014/01/14 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
php swoft框架实例用法
2020/12/22 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
JQuery开发的数独游戏代码
2010/10/29 Javascript
浅析js封装和作用域
2013/07/09 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
基本DOM节点操作
2017/01/17 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
python使用心得之获得github代码库列表
2014/06/25 Python
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
Python的迭代器和生成器
2015/07/29 Python
python去掉行尾的换行符方法
2017/01/04 Python
Python批量发送post请求的实现代码
2018/05/05 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
python常用运维脚本实例小结
2020/02/14 Python
Pycharm+Python工程,引用子模块的实现
2020/03/09 Python
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
职业生涯规划书的格式
2013/12/29 职场文书
中学教师师德承诺书
2014/05/23 职场文书
保研专家推荐信范文
2015/03/25 职场文书
员工给公司的建议书
2019/06/24 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers