介紹
keep-alive是Vue.js的一個(gè)內(nèi)置組件蕉朵。它能夠不活動(dòng)的組件實(shí)例保存在內(nèi)存中闻丑,而不是直接將其銷毀,它是一個(gè)抽象組件餐济,不會(huì)被渲染到真實(shí)DOM中,也不會(huì)出現(xiàn)在父組件鏈中胆剧。它提供了include與exclude兩個(gè)屬性絮姆,允許組件有條件地進(jìn)行緩存。
原理
其實(shí)就是在created時(shí)將需要緩存的VNode節(jié)點(diǎn)保存在this.cache中/在render時(shí),如果VNode的name符合在緩存條件(可以用include以及exclude控制)秩霍,則會(huì)從this.cache中取出之前緩存的VNode實(shí)例進(jìn)行渲染篙悯。