vuejs在解析时出现闪烁的原因及防止闪烁的方法
原因:
在使用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在解析时出现闪烁的原因及防止闪烁的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- vue使用v-if v-show页面闪烁,div闪现的解决方法
- vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
- vue渲染时闪烁{{}}的问题及解决方法
- 详解vue数据渲染出现闪烁问题
- vue 插值 v-once,v-text, v-html详解
- vue学习笔记之指令v-text && v-html && v-bind详解
- 用v-html解决Vue.js渲染中html标签不被解析的问题
- vue.js使用v-pre与v-html输出HTML操作示例
- 详解三种方式解决vue中v-html元素中标签样式
- Vue中的v-cloak使用解读
- vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
相关文章
electron-vite新一代electron开发构建工具
这篇文章主要介绍了electron-vite新一代electron开发构建工具,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-04-04element table数据量太大导致网页卡死崩溃的解决办法
当页面数据过多,前端渲染大量的DOM时,会造成页面卡死问题,下面这篇文章主要给大家介绍了关于element table数据量太大导致网页卡死崩溃的解决办法,需要的朋友可以参考下2023-02-02
最新评论