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 相关文章推荐
Autocomplete Textbox Example javascript实现自动完成成功
Aug 17 Javascript
jquerymobile局部渲染的各种刷新方法小结
Mar 05 Javascript
jQuery拖动div、移动div、弹出层实现原理及示例
Apr 08 Javascript
jQuery $.extend()用法总结
Jun 15 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
Jun 18 Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 Javascript
javascript日期格式化方法汇总
Oct 04 Javascript
学习Javascript面向对象编程之封装
Feb 23 Javascript
jQuery 的 ready()的纯js替代方法
Nov 20 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
Apr 18 Javascript
vue bus全局事件中心简单Demo详解
Feb 26 Javascript
angular 实时监听input框value值的变化触发函数方法
Aug 31 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中使用sockets:从新闻组中获取文章
2006/10/09 PHP
php提交表单发送邮件的方法
2015/03/20 PHP
php基本函数汇总
2015/07/09 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
phpinfo的知识点总结
2019/10/10 PHP
JavaScript 异步调用框架 (Part 3 - 代码实现)
2009/08/04 Javascript
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
python 多进程通信模块的简单实现
2014/02/20 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
python绘制雪景图
2019/12/16 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
python 基于selenium实现鼠标拖拽功能
2020/12/24 Python
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
中职生自荐信
2013/10/13 职场文书
中学教师岗位职责
2013/11/26 职场文书
酒店个人求职信范文
2014/01/25 职场文书
团队精神的演讲稿
2014/05/14 职场文书
幼儿园优秀班主任事迹材料
2014/05/14 职场文书
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android