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 版本自动生成文章摘要
Jul 23 Javascript
实现JavaScript中继承的三种方式
Oct 16 Javascript
JQuery实现的在新窗口打开链接的方法小结
Apr 22 Javascript
js获取电脑分辨率的思路及操作
Nov 22 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
Apr 01 Javascript
AngularJS使用指令增强标准表单元素功能
Jul 01 Javascript
微信小程序 页面滑动事件的实例详解
Oct 12 Javascript
Vue.use源码学习小结
Jun 20 Javascript
Node+OCR实现图像文字识别功能
Nov 26 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
Feb 28 Javascript
webpack3升级到webpack4遇到问题总结
Sep 30 Javascript
用JS实现飞机大战小游戏
Jun 09 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
初探PHP5
2006/10/09 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
javaScript call 函数的用法说明
2010/04/09 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
js jquery数组介绍
2012/07/15 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
JS构造一个html文本内容成文件流形式发送到后台
2018/07/31 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
node.js实现简单的压缩/解压缩功能示例
2019/11/05 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
python持久性管理pickle模块详细介绍
2015/02/18 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
pandas通过索引进行排序的示例
2018/11/16 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
pandas中ix的使用详细讲解
2020/03/09 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
实例教程 纯CSS3打造非常炫的加载动画效果
2014/11/05 HTML / CSS
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
Superdry极度干燥美国官网:英国制造的服装品牌
2018/11/13 全球购物
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
一份比较全的PHP面试题
2016/07/29 面试题
优秀毕业生自我鉴定
2014/01/19 职场文书
淘宝活动总结范文
2014/06/26 职场文书
真诚的求职信
2014/07/04 职场文书