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 相关文章推荐
我的javascript 函数链之演变
Apr 07 Javascript
Javascript 页面模板化很多人没有使用过的方法
Jun 05 Javascript
JsRender for object语法简介
Oct 31 Javascript
详解AngularJS中的表达式使用
Jun 16 Javascript
javascript iframe跨域详解
Oct 26 Javascript
Bootstrap下拉菜单样式
Feb 07 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 Javascript
JavaScript方法_动力节点Java学院整理
Jun 28 Javascript
微信小程序 scroll-view实现锚点滑动的示例
Dec 06 Javascript
Angular使用cli生成自定义文件、组件的方法
Sep 04 Javascript
vue cli3.0 引入eslint 结合vscode使用
May 27 Javascript
jQuery带控制按钮轮播图插件
Jul 31 jQuery
微信{"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/10/21 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
PHP设计模式之工厂模式与单例模式
2016/09/28 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
js切换光标示例代码
2013/10/10 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
javascript运动详解
2015/07/06 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
Angular4 中内置指令的基本用法
2017/07/31 Javascript
vue-cli2.9.3 详细教程
2018/04/23 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
2018/08/08 Javascript
js校验开始时间和结束时间
2020/05/26 Javascript
[35:55]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.11
2020/12/13 DOTA
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
技校教师求职简历的自我评价
2013/10/20 职场文书
师范应届生语文教师求职信
2013/10/29 职场文书
怎样客观的做好自我评价
2013/12/28 职场文书
教育技术职业规划范文
2014/03/04 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技
mysql全面解析json/数组
2022/07/07 MySQL