本文主要是介绍vue实践学习——keep-alive属性及生命周期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 通过上一篇博客,大家已经熟知keep-alive是什么作用的组件以及其简单应用,那么接下来再来进一步的了解一下keep-alive
- props:官网链接https://cn.vuejs.org/v2/api/#keep-alive
- include 字符串或正则表达式,只有名称匹配的组件会被缓存
- exclude 字符串或正则表达式,任何名称匹配的组件都不会被缓存
- max 数字,最多可以缓存多少组件实例
- props的使用
-
<keep-alive include="test-keep-alive"> //将缓存name为test-keep-alive的组件<component></component> </keep-alive>
-
<keep-alive include="a,b"> //将缓存name为a或者b的组件,结合动态组件使用<component :is="view"></component> </keep-alive>
-
<keep-alive :include="/a|b/"> //使用正则表达式,需使用v-bind<component :is="view"></component> </keep-alive>
-
<keep-alive :include="includedComponents"><router-view></router-view> </keep-alive>
-
<keep-alive exclude="test-keep-alive"><!-- 将不缓存name为test-keep-alive的组件 --><component></component> </keep-alive>
- 结合router-view使用
<keep-alive><router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>
//router.js
export default new Router({routes: [{path: '/',name: 'Hello',component: Hello,meta: {keepAlive: false // 不需要缓存}},{path: '/page1',name: 'Page1',component: Page1,meta: {keepAlive: true // 需要被缓存}}]
})
- keep-alive的生命周期
- activated: 页面第一次进入的时候,钩子触发的顺序是created->mounted->activated
- deactivated: 页面退出的时候会触发deactivated,当再次前进或者后退的时候只触发activated
这篇关于vue实践学习——keep-alive属性及生命周期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!