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 入门·JavaScript 具有全范围的运算符
Oct 01 Javascript
javascript iframe编程相关代码
Dec 28 Javascript
javascript算法学习(直接插入排序)
Apr 12 Javascript
js中的异常处理try...catch使用介绍
Sep 21 Javascript
js select option对象小结
Dec 20 Javascript
javascript常用的方法整理
Aug 20 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
Oct 28 Javascript
微信小程序开发教程-手势解锁实例
Jan 06 Javascript
vue + element-ui实现简洁的导入导出功能
Dec 22 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
May 14 Javascript
VUE 自定义组件模板的方法详解
Aug 30 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
Mar 03 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 的几个配置文件函数
2006/12/21 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
Node.js文本文件BOM头的去除方法
2020/11/22 Javascript
JavaScript/TypeScript 实现并发请求控制的示例代码
2021/01/18 Javascript
老生常谈python中的重载
2018/11/11 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
茶叶店创业计划书范文
2014/01/19 职场文书
棉花姑娘教学反思
2014/02/15 职场文书
新年晚会主持词
2014/03/24 职场文书
初中信息技术教学计划
2015/01/22 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
未中标通知书
2015/04/17 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
Golang: 内建容器的用法
2021/05/05 Golang
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python