<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        如何對vue渲染時閃爍{{}}進行處理

        來源:懂視網 責編:小采 時間:2020-11-27 19:45:49
        文檔

        如何對vue渲染時閃爍{{}}進行處理

        如何對vue渲染時閃爍{{}}進行處理:這次給大家?guī)砣绾螌ue渲染時閃爍{{}}進行處理,對vue渲染時閃爍{{}}進行處理的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。v-if和v-show可能是日常開發(fā)中最常用的兩個指令,雖然看上去兩者功能是類似的,但是兩者還是存在很大區(qū)別的。 v-if與v
        推薦度:
        導讀如何對vue渲染時閃爍{{}}進行處理:這次給大家?guī)砣绾螌ue渲染時閃爍{{}}進行處理,對vue渲染時閃爍{{}}進行處理的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。v-if和v-show可能是日常開發(fā)中最常用的兩個指令,雖然看上去兩者功能是類似的,但是兩者還是存在很大區(qū)別的。 v-if與v

        這次給大家?guī)砣绾螌ue渲染時閃爍{{}}進行處理,對vue渲染時閃爍{{}}進行處理的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。

        v-if和v-show可能是日常開發(fā)中最常用的兩個指令,雖然看上去兩者功能是類似的,但是兩者還是存在很大區(qū)別的。

        v-if與v-show區(qū)別:

        在切換 v-if 塊時,Vue.js 有一個局部編譯/卸載過程,因為 v-if 之中的模板也可能包括數據綁定或子組件。v-if 是真實的條件渲染,因為它會確保條件塊在切換當中合適地銷毀與重建條件塊內的事件監(jiān)聽器和子組件。

        v-if 也是惰性的:如果在初始渲染時條件為假,則什么也不做——在條件第一次變?yōu)檎鏁r才開始局部編譯(編譯會被緩存起來)。

        相比之下,v-show 簡單得多——元素始終被編譯并保留,只是簡單地基于 CSS 切換。

        簡單來說二者最大的區(qū)別是v-if只會在滿足條件時才會編譯,而v-show不管是否滿足條件始終會編譯,v-show的顯示與隱藏只是簡單的切換CSS的display屬性。

        適用場景:

        明白了二者的本質區(qū)別后什么時候適合用v-if什么時候用v-show也變得簡單了。

        一般來說,v-if 有更高的切換消耗而 v-show 有更高的初始渲染消耗。因此,如果需要頻繁切換 v-show 較好,如果在運行時條件不大可能改變 v-if 較好。

        比如說現(xiàn)在很多頁面在不同端表現(xiàn)是不同的,最常見的是很多的APP頁面在微信端打開時頁面上會顯示下載的提示,而在APP內部則不會,像這樣的情況每個端的狀態(tài)在加載時就是確定的不會變的就適合用v-if,這樣在APP內打開時顯示下載的部分直接就不會編譯。

        而像頁面上元素根據不同條件顯示/隱藏這樣的地方用v-show是最合適的了,因為像這種基本上兩個狀態(tài)要頻繁切換,如上面所說,v-show的切換消耗是小于v-if的。

        多條件

        很多時候代碼中需要多條件判斷,但是vue中只有v-if和v-else,沒有v-elseif這樣的指令。雖然沒有類似的指令,但依舊還是有幾種方法可以解決這個問題。

        方法一:template

        <p v-if="xxx"></p>
        <template v-else>
        <p v-if="yyy"></p>
        <p v-else></p>
        </template>

        方法二:partical

        元素是已注冊的 partial 的插槽,partial 在插入時被 Vue 編譯。 元素本身會被替換。 元素需要指定 name 特性。

        這貨讓人想起javaScript原生的fragement元素,但卻不是一個東西。partial有靜態(tài)和動態(tài)之分,而要解決上面的問題就要用到動態(tài)partial。

        示例:

        // 注冊 partial
        Vue.partial('my-partial', '<p>This is a partial! {{msg}}</p>')
        <!-- 靜態(tài) partial -->
        <partial name="my-partial"></partial>
        <!-- 動態(tài) partial -->
        <!-- 渲染 partial,id === vm.partialId -->
        <partial v-bind:name="partialId"></partial>

        要解決多個條件的問題,我們就可以為每種情況預先注冊好各自的partial,然后將partial的name屬性綁定到判斷條件,這樣就能實現(xiàn)多個條件判斷。

        其他:

        1.v-if指令可以應用于template包裝元素上,而v-show不支持templete

        2.將v-show應用在組件上時,因為指令的優(yōu)先級 v-else 會出現(xiàn)問題,解決辦法就是用另一個 v-show 替換 v-else

        官方給出的示例如下:

        // 錯誤
        <custom-component v-show="condition"></custom-component>
        <p v-else>這可能也是一個組件</p>
        // 正確做法
        <custom-component v-show="condition"></custom-component>
        <p v-show="!condition">這可能也是一個組件</p>

        Vue頁面加載時v-show設置的隱藏元素出現(xiàn)導致頁面閃爍問題

        在寫APP社區(qū)頁面的時候在一些地方用了v-show,在刷新頁面的時候就發(fā)現(xiàn)即便在邏輯判斷為false某些元素不該顯示時也會露個臉,一閃而過,元素快小還好,如果是特別大的地方就看起來就很不爽,于是就上網搜了下看有沒有解決方法,結果還真有。

        方法一: v-cloak

        官方的解釋就一句話:這個指令保持在元素上直到關聯(lián)實例結束編譯。

        光看這句話一頭霧水,后面緊接著說了用法:

        和 CSS 規(guī)則如 [v-cloak] { display: none } 一起用時,這個指令可以隱藏未編譯的 Mustache 標簽直到實例準備完畢。

        也就是說v-cloak指令可以像CSS選擇器一樣綁定一套CSS樣式然后這套CSS會一直生效到實例編譯結束。

        示例代碼:

        // <p> 不會顯示,直到編譯結束。
        [v-cloak] {
        display: none;
        }
        <p v-cloak>
        {{ message }}
        </p>

        方法二: v-text

        vue中我們會將數據包在兩個大括號中,然后放到HTML里,但是在vue內部,所有的雙括號會被編譯成textNode的一個v-text指令。

        而使用v-text的好處就是永遠更好的性能,更重要的是可以避免FOUC (Flash of Uncompiled Content) ,也就是上面與遇到的問題。

        示例代碼:

        <span v-text="msg"></span>
        <!-- same as -->
        <span>{{msg}}</span>

        相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!

        推薦閱讀:

        怎樣使用JS中EL表達式獲取上下文參數

        如何使用JS實現(xiàn)左邊列表平移到右邊

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        如何對vue渲染時閃爍{{}}進行處理

        如何對vue渲染時閃爍{{}}進行處理:這次給大家?guī)砣绾螌ue渲染時閃爍{{}}進行處理,對vue渲染時閃爍{{}}進行處理的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。v-if和v-show可能是日常開發(fā)中最常用的兩個指令,雖然看上去兩者功能是類似的,但是兩者還是存在很大區(qū)別的。 v-if與v
        推薦度:
        標簽: VUE 解決 的時候
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲最大天堂无码精品区| 国产亚洲精久久久久久无码AV| 久久九九亚洲精品| 在线视频网址免费播放| 亚洲综合最新无码专区| 一级毛片免费不卡| 亚洲中文字幕视频国产| 国产福利电影一区二区三区,免费久久久久久久精| 日本大片在线看黄a∨免费| 亚洲av中文无码字幕色不卡| 国产福利免费观看| 一级毛片a免费播放王色| 久久亚洲精品无码播放| 两个人看的www免费高清| 日本红怡院亚洲红怡院最新| 免费A级毛片无码A∨| 亚洲欧洲日产韩国在线| 性xxxxx免费视频播放| 亚洲 欧洲 自拍 另类 校园| 国产精品久久免费视频| 国产黄在线播放免费观看| 亚洲成AV人片在线观看无码| 91精品手机国产免费| jlzzjlzz亚洲jzjzjz| 日本一区二区三区日本免费| yellow免费网站| 91天堂素人精品系列全集亚洲| 思思re热免费精品视频66| 亚洲AV无码一区二区三区网址| 在线观看国产区亚洲一区成人| 99精品在线免费观看| 亚洲精品无码人妻无码| 亚洲综合无码AV一区二区| 亚洲免费人成视频观看| 亚洲精品av无码喷奶水糖心 | 四虎免费影院ww4164h| 亚洲日韩精品国产一区二区三区| 亚洲精品无码专区2| 在线观看的免费网站无遮挡| 亚洲AV无码AV吞精久久| 久久精品国产亚洲沈樵|