vuejs在解析时出现闪烁的原因及防止闪烁的方法


Posted in Javascript onSeptember 19, 2016

原因:

在使用vuejs、angularjs开发时,经常会遇见在如Chrome这类能够快速解析的浏览器上出现表达式({{ express }} ),或者是模块(div)的闪烁。对于这个问题由于JavaScript去操作DOM,都会等待DOM加载完成(DOM ready)。对于vuejs、angularjs这些会在DOM ready完会才回去解析html view Template,所以对于Chrome这类快速的浏览器你会看见有闪烁的情况出现。而对于IE7,8这类解析稍慢的浏览器大部分情况下是不会出现这个问题的。

解决方法:

在vuejs、angularjs中为我们提供了v-cloak、ng-cloak来实现防止闪烁的方案,同时对于bing文字({{ express }} )我们也可以改为v-bind、ng-bind来实现避免。

下面以vuejs为例:

#v-cloak

用法:

这个指令保持在元素上直到关联实例结束编译。和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache 标签直到实例准备完毕。

示例:

[v-cloak] {
display: none;
} 
<div v-cloak>
{{ message }}
</div>

<div> 不会显示,直到编译结束。

原理:

带有v-clock的的元素设置为display:none,隐藏掉,在等到vue解析到带有v-clock的节点时候,会把attribute和class同时remove掉,这样就可以实现防止节点的闪烁。

实例:

//example1:
<span>{{price}}</span>
//example2: 
<span v-bind="price"></span>
//example3: 
<span v-cloak>{{price}}</span>

上例子2和例子3实现的效果是一样的,而例子1在vuejs解析{{price}}之前,用户是可以看到"{{price}}"这个字符串的。而例子2和例子3不会有这种闪烁的情况。

以上所述是小编给大家介绍的vuejs在解析时出现闪烁的原因及防止闪烁的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript 判断Flash是否加载完成的代码
Apr 12 Javascript
jquery异步请求实例代码
Jun 21 Javascript
JavaScript的setAttribute兼容性问题解决方法
Nov 11 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
Aug 21 Javascript
纯JS实现可拖拽表单的简单实例
Sep 02 Javascript
JavaScript 函数模式详解及示例
Sep 07 Javascript
使用jquery给指定的table动态添加一行、删除一行
Oct 13 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
Nov 10 Javascript
详解AngularJS ng-class样式切换
Jun 27 Javascript
jquery动态赋值id与动态取id方法示例
Aug 21 jQuery
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
Jun 11 Javascript
JavaScript 中的六种循环方法
Jan 06 Javascript
javascript 判断页面访问方式电脑或者移动端
Sep 19 #Javascript
详解Node.Js如何处理post数据
Sep 19 #Javascript
React Native实现简单的登录功能(推荐)
Sep 19 #Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
Sep 19 #Javascript
BootStrap入门教程(二)之固定的内置样式
Sep 19 #Javascript
BootStrap入门教程(一)之可视化布局
Sep 19 #Javascript
Node.js的基本知识简单汇总
Sep 19 #Javascript
You might like
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
2020/07/10 PHP
javascript dom 基本操作小结
2010/04/11 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
德国运动营养和健身网上商店:Myprotein.de
2018/07/18 全球购物
Final类有什么特点
2012/04/25 面试题
自我评价如何写好?
2014/01/05 职场文书
四查四看剖析材料
2014/02/14 职场文书
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
节约用电倡议书
2015/04/28 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS