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入门基础之私有变量
Feb 23 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 06 Javascript
Javascript 命名空间模式
Nov 01 Javascript
jQuery实现单击和鼠标感应事件
Feb 01 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
May 10 Javascript
JavaScript设置名字输入不合法的实现方法
May 23 Javascript
AngularJS路由删除#符号解决的办法
Sep 28 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 jQuery
Vue项目实现换肤功能的一种方案分析
Aug 28 Javascript
vue 中使用print.js导出pdf操作
Nov 13 Javascript
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
分享一个vue实现的记事本功能案例
Apr 11 Vue.js
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
短波收音机简介
2021/03/01 无线电
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
基于jQuery制作迷你背词汇工具
2010/07/27 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
深入学习AngularJS中数据的双向绑定机制
2016/03/04 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
Bootstrap Paginator分页插件使用方法详解
2016/05/30 Javascript
ES6学习教程之模板字符串详解
2017/10/09 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
python3中dict(字典)的使用方法示例
2017/03/22 Python
Python中django学习心得
2017/12/06 Python
python使用梯度下降算法实现一个多线性回归
2020/03/24 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
工程造价专业大专生求职信
2013/10/06 职场文书
基层工作经历证明
2014/01/13 职场文书
会员卡清退活动总结
2014/08/27 职场文书
教师党员自我评议不足范文
2014/10/19 职场文书
家长通知书家长意见
2015/06/03 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技