1. 程式人生 > >Vue中 key keep-alive的實現原理

Vue中 key keep-alive的實現原理

入門到 java border 保存 tab clu 創建 培訓 activated

vue2.0提供了一個keep-alive組件用來緩存組件,避免多次加載相應的組件,減少性能消耗

keep-aliv是Vue.js的一個內置組件。它能夠不活動的組件實例保存在內存中,而不是直接將其銷毀,它是一個抽象組件,不會被渲染到真實DOM中,也不會出現在父組件鏈中。

它有兩個生命周期:

  1. activated: keep-alive組件激活時調用
  2. deactivated: keep-alive組件停用時調用

它提供了include與exclude兩個屬性,允許組件有條件地進行緩存。

keep-alive key

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 <!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript" src="./vue.js"></script> </head> <body> <div id="app"> <keep-alive> <child-component key="1" v-if="seen" name="1"></child-component>
<child-component key="2" v-if="!seen" name="2"></child-component> </keep-alive> <button @click="toggle">toggle</button> </div> <script type="text/javascript"> Vue.component(‘child-component‘, { template: `<input type="text" placeholder
="enter">`, data() { return {} }, props: ["name"], mounted() { console.log(`${this.name} mounted`) } }) const vm = new Vue({ el: "#app", data: { seen: true }, methods: { toggle() { this.seen = !this.seen; } } }) </script> </body> </html>

key是標識元素不再被復用,註意key是Vue中的一個保留的屬性,不能作為prop傳遞給子組件,否則會在控制臺看到Vue的報錯

但是keep-alive標識不重復創建組件實例,也就是只會觸發一次created mounted事件,

利用兩者可以對組件的復用進行比較精細的管理。

IOS數據存儲技術開發視頻教程 12課 附源碼課件 下載地址:百度網盤下載

IOS界面開發UIKit詳細使用視頻教程 43課 附源碼講義 下載地址:百度網盤下載
IOS9零基礎到精通大神班視頻教程 包含源碼課件面試題就業指導 下載地址:百度網盤下載
IOS培訓班第四期 基礎+就業班 完整高清版 下載地址:百度網盤下載
IOS培訓班第六期 包含源碼課件面試資料 下載地址:百度網盤下載
IOS培訓班第五期【完整版】 下載地址:百度網盤下載
IOS多點觸控與手勢識別開發視頻教程 10課 附源碼 下載地址:百度網盤下載
中遊學院Swift語言視頻教程 教學視頻 百度網盤下載 下載地址:百度網盤下載
極客ios開發工程師 全套視頻教程 教學視頻 百度網盤下載 下載地址:百度網盤下載
開源力量iOS開發從OC到Swift入門與修煉 視頻教程 教學視頻 百度網盤下載 下載地址:百度網盤下載
iOS常用UI控件使用速成秘籍 視頻教程 教學視頻 百度網盤下載 下載地址:百度網盤下載
IOS視頻教程 全套編程自學基礎入門app手機應用開發遊戲項目實戰 下載地址:百度網盤下載
IOS(iPhone)開發中級視頻教程 下載地址:百度網盤下載
IOS開發實戰視頻教程 下載地址:百度網盤下載
小碼哥大神班IOS五期不加密版本 下載地址:百度網盤下載
小馬哥IOS9 蘋果APP開發實戰培訓基礎大神班視頻教程 下載地址:百度網盤下載
黑馬程序員iOS視頻開發教程/李明傑 下載地址:百度網盤下載
IOS開發技術教程 極客學院最新IOS開發技術VIP教程入門到精通教程 下載地址:百度網盤下載
iOS中級視頻教程 下載地址:百度網盤下載
iOS面試必看題 下載地址:百度網盤下載

Vue中 key keep-alive的實現原理