防止vuejs在解析時出現閃爍
---## 防止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為例:
<code>#v-cloak 用法: 这个指令保持在元素上直到关联实例结束编译。和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache 标签直到实例准备完毕。 示例:</code>
登入後複製
<span style="color: #008080;">1</span> <span style="color: #800000;">[v-cloak] </span>{ <span style="color: #008080;">2</span> <span style="color: #ff0000;"> display</span>:<span style="color: #0000ff;"> none</span>; <span style="color: #008080;">3</span> } <span style="color: #008080;">4</span> <span style="color: #008080;">5</span> <span style="color: #800000;"><div v-cloak> </span><span style="color: #008080;">6</span> {<span style="color: #ff0000;">{ message </span>}<span style="color: #800000;">} </span><span style="color: #008080;">7</span> <span style="color: #800000;"></div></span>
登入後複製
<code><div> 不会显示,直到编译结束。 原理: 带有v-clock的的元素设置为display:none,隐藏掉,在等到vue解析到带有v-clock的节点时候,会把attribute和class同时remove掉,这样就可以实现防止节点的闪烁。 实例:</code>
登入後複製
<span style="color: #000000;">//example1: </span><span style="color: #0000ff;"><</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>{{price}}<span style="color: #0000ff;"></</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span><span style="color: #000000;"> //example2: </span><span style="color: #0000ff;"><</span><span style="color: #800000;">span </span><span style="color: #ff0000;">v-bind</span><span style="color: #0000ff;">="price"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span><span style="color: #000000;"> //example3: </span><span style="color: #0000ff;"><</span><span style="color: #800000;">span </span><span style="color: #ff0000;">v-cloak</span><span style="color: #0000ff;">></span>{{price}}<span style="color: #0000ff;"></</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>
登入後複製
<code> 上例子2和例子3实现的效果是一样的,而例子1在vuejs解析{{price}}之前,用户是可以看到"{{price}}"这个字符串的。而例子2和例子3不会有这种闪烁的情况。</code>
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

我如何使用html5&lt; time&gt; 元素以語義表示日期和時間?
