vue实践学习——keep-alive属性及生命周期
通过上一篇博客,大家已经熟知keep-alive是什么作用的组件以及其简单应用,那么接下来再来进一步的了解一下keep-aliveprops:官网链接https://cn.vuejs.org/v2/api/#keep-aliveinclude 字符串或正则表达式,只有名称匹配的组件会被缓存exclude 字符串或正则表达式,任何名称匹配的组件都不会被缓存max 数字,最多可以缓存多少...
·
- 通过上一篇博客,大家已经熟知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
更多推荐
已为社区贡献3条内容
所有评论(0)