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面试必看题 下载地址:百度网盘下载