您好,登錄后才能下訂單哦!
本篇文章為大家展示了Vue中keep-alive組件的作用是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
作用:用于保留組件狀態或避免重新渲染(緩存的作用)
比如:當一個目錄頁面與一個詳情頁面,用戶經常:打開目錄頁面=>進入詳情頁面=>返回目錄頁面=>打開詳情頁面,這樣目錄頁面就是一個使用頻率很高的頁面,那么就可以對目錄組件使用<keep-alive></keep-alive>進行緩存,這樣用戶每次返回目錄時,都能從緩存中快速渲染,而不用重新渲染。
屬性
該標簽有兩個屬性include與exclude:
include:字符串或者正則表達式。只有匹配的組件會被緩存
exclude:字符串或者正則表達式。任何匹配的組件都不會被緩存。
用法
<!-- 基本 --> <keep-alive> <component :is="view"></component> </keep-alive> <!-- 多個條件判斷的子組件 --> <keep-alive> <comp-a v-if="a > 1"></comp-a> <comp-b v-else></comp-b> </keep-alive> <!-- 常見應用 --> <keep-alive> <router-view></router-view> </keep-alive>
注意: 是用在其一個直屬的子組件被開關時的情形,要求同時只有一個子元素被渲染
include和exclude屬性的使用
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選項不可用,則匹配它的局部注冊名稱
生命鉤子
keep-alive提供了兩個生命鉤子,分別是activated與deactivated。因為keep-alive會將組件保存在內存中,并不會銷毀以及重新創建,所以不會重新調用組件的created、mounted這些函數。
被 keep-alive 包裹的組件被緩存之后有兩個獨有的生命周期: activated 和 deactivated。activated 生命周期在組件激活時調用、deactivated 生命周期在組件停用時調用。
上述內容就是Vue中keep-alive組件的作用是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。