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

溫馨提示×

溫馨提示×

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

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

vue緩存組件怎么使用

發布時間:2022-12-03 09:36:13 來源:億速云 閱讀:224 作者:iii 欄目:web開發

今天小編給大家分享一下vue緩存組件怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

在vue中,緩存組件是“keep-alive”,是一個抽象組件;它自身不會渲染一個 DOM 元素,也不會出現在組件的父組件鏈中。緩存組件主要用于保留組件狀態或避免重新渲染,當它包裹動態組件時,會緩存不活動的組件實例,而不是銷毀它們。

在vue中,緩存組件是“keep-alive”,是一個抽象組件。

緩存組件“keep-alive”

keep-alive是Vue的內置組件,包裹動態組件時,會將不活動的組件實例留在內存中,優化請求,防止DOM重新渲染

vue緩存組件怎么使用

官方文檔:在動態組件上使用 keep-alive

主要用于保留組件狀態或避免重新渲染,當它包裹動態組件時,會緩存不活動的組件實例,而不是銷毀它們。

(1)組件緩存不是持久化,它只是在應用運行期間不會重新渲染,如果頁面刷新還是會回到初始狀態。

(2) 是一個抽象組件:它自身不會渲染一個 DOM 元素,也不會出現在組件的父組件鏈中。

(3) 要求被切換到的組件都有自己的名字,不論是通過組件的 name 選項還是局部/全局注冊。

(4)組件生命周期鉤子和緩存

vue緩存組件怎么使用

(5)include 和 exclude 屬性允許組件有條件地緩存。二者都可以用逗號分隔字符串、正則表達式或一個數組來表示。

<!-- 逗號分隔字符串 -->
<keep-alive include="a,b">
  <component :is="view"></component>
</keep-alive>

<!-- 正則表達式 (使用 `v-bind`) -->
<keep-alive :include="/a|b/">
  <component :is="view"></component>
</keep-alive>

<!-- 數組 (使用 `v-bind`) -->
<keep-alive :include="['a', 'b']">
  <component :is="view"></component>
</keep-alive>

匹配首先檢查組件自身的 name 選項,如果 name 選項不可用,則匹配它的局部注冊名稱 (父組件 components 選項的鍵值)。匿名組件不能被匹配。

使用 緩存組件 的一些問題

問題1:如果緩存的組件過多,或者是把不必要的組件也緩存了,會造成內存占用過多。

問題2:會導致需要更新的卻被緩存了,如detail組件被緩存就不會更新了。

策略:把那些重要,高頻的(如主頁),或者是不怎么變化的組件緩存下來。

解決:給要緩存的路由做個標記,然后在載入路由時,動態決定是否要緩存。更加精確控制要緩存的組件

組件緩存的優化寫法:

在定義路由時,額外添加路由[元信息],來補充一些信息要素。

{ 
  path: '/', 
  component: () => import('../views/home/index.vue'), 
  //是否緩存
  meta: { isKeepAlive: true } 
},

在app.vue中根據meta元信息來決定是否緩存組件

<div id="app">
  <keep-alive>
    <router-view v-if="$route.meta.isKeepAlive"/>
  </keep-alive>
  <router-view v-if="!$route.meta.isKeepAlive"/>
</div>

以上就是“vue緩存組件怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

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

vue
AI

花莲县| 潍坊市| 和静县| 张掖市| 平顺县| 武强县| 山阴县| 杂多县| 越西县| 崇左市| 烟台市| 清水河县| 玉林市| 宿迁市| 湟源县| 蕉岭县| 孝义市| 望城县| 介休市| 荆州市| 轮台县| 斗六市| 社会| 梅河口市| 云浮市| 蒙自县| 囊谦县| 镇巴县| 西安市| 郁南县| 洞口县| 阿鲁科尔沁旗| 黑水县| 武胜县| 西华县| 广德县| 乌拉特前旗| 安乡县| 突泉县| 绥江县| 新乡县|