vue2.0提供了一個keep-alive組件用來緩存組件,避免多次加載相應的組件,減少性能消耗
keep-aliv是Vue.js的一個內置組件。它能夠不活動的組件實例保存在內存中,而不是直接將其銷毀,它是一個抽象組件,不會被渲染到真實DOM中,也不會出現在父組件鏈中。
它有兩個生命周期:
- activated: keep-alive組件激活時調用
- 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面試必看題 下載地址:百度網盤下載