中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

單頁面Vue頁面刷新出現閃爍問題如何解決

發布時間:2022-07-28 13:46:00 來源:億速云 閱讀:234 作者:iii 欄目:開發技術

本篇內容主要講解“單頁面Vue頁面刷新出現閃爍問題如何解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“單頁面Vue頁面刷新出現閃爍問題如何解決”吧!

分析原因: 為什么刷新會出現閃爍的問題?

因為瀏覽器是html從上到下執行,

先執行Dom元素

然后執行javaScript元素

當走到javaScript時,Dom元素已經開始走動,所以如果網慢的話,會顯示的特別明顯

解決方法: 使用 v-cloak 用法

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

原理:

帶有v-clock的的元素設置為display:none,隱藏掉,在等到vue解析到帶有v-clock的節點時候,會把attribute和class同時remove掉,這樣就可以實現防止節點的閃爍。

實例:

[v-cloak] {
display: none; 
} 
<div v-cloak>
{{ message }}
</div>

圖解:

html 代碼

加在掛載點(#app),可以讓整個頁面在未加載完JS時,整個頁面都不渲染, 如果不需要,只需要在對應閃爍的標簽中加v-cloak即可

單頁面Vue頁面刷新出現閃爍問題如何解決

css 代碼

單頁面Vue頁面刷新出現閃爍問題如何解決

關于Vue刷新頁面問題

Vue 中是單頁面,當然需要刷新數據咯

你一定遇到這樣的需求:

比如在刪除或者增加一條記錄的時候希望當前頁面可以重新刷新或者這個頁面有個組件 ,但是這個組件里面的點擊事件還是到當前頁面 

如何解決 

1.在使用Vue-router做項目時,會遇到如/serviceId/:id這樣只改變id號的場景。由于router-view是復用的,單純的改變id號并不會刷新router-view,而這并不是我們所期望的結果。

2.我們可以在點擊事件上  window.reload(),或者router.go(0)刷新時,強制刷新整個頁面。整個瀏覽器進行了重新加載,閃爍,體驗不好

3.使用watch的方法,具體的可以看一下官方文檔

watch: { 
'$route': function (to, from) { 
       this.$store.dispatch('updateActiveTemplateId', 
       this.$route.params.templateId) // 通過更新Vuex中的store的數據,讓數據發生變化 
           this.getTemplateById() 
} }

當然我也看過一些博客,總結了下 如何更好的解決

provide / inject 組合

作用:允許一個祖先組件向其所有子孫后代注入一個依賴,不論組件層次有多深,并在起上下游關系成立的時間里始終生效。

在你的App.vue頁面里面

聲明reload方法,控制router-view的顯示或隱藏,從而控制頁面的再次加載

單頁面Vue頁面刷新出現閃爍問題如何解決

然后在你的詳情頁面

tableList.vue:

在頁面注入App.vue組件提供(provide)的 reload 依賴,在邏輯完成之后(刪除或添加...),直接this.reload()調用,即可刷新當前頁面。

單頁面Vue頁面刷新出現閃爍問題如何解決

解釋下:

  • provide:選項應該是一個對象或返回一個對象的函數。該對象包含可注入其子孫的屬性。

  • inject:一個字符串數組,或一個對象,對象的 key 是本地的綁定名

提示:provide 和 inject 綁定并不是可響應的。這是刻意為之的。如果你傳入了一個可監聽的對象,那么其對象的屬性還是可響應的。

當然你不能 是在created里調用getData(), 在getData里又調用了this.reload().

這樣會導致死循環的 ,所以要合理的運用就這個方法

到此,相信大家對“單頁面Vue頁面刷新出現閃爍問題如何解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

福海县| 宁德市| 南城县| 芦山县| 平阳县| 色达县| 曲阳县| 南江县| 藁城市| 浏阳市| 汉阴县| 靖安县| 台北县| 民和| 恩平市| 江阴市| 名山县| 富平县| 景谷| 陵川县| 清徐县| 河北省| 昭苏县| 庆阳市| 儋州市| 广丰县| 泽州县| 夏河县| 绵竹市| 南阳市| 长治市| 陆良县| 建瓯市| 库尔勒市| 承德县| 那曲县| 新田县| 肇州县| 建阳市| 柳江县| 日土县|