keep-alive缓存组件及应用案例

2021-12-06  本文已影响0人  懒懒猫

一、keep-alive组件: 缓存组件

作用:

可以让组件保留状态,避免重新渲染,提升页面性能

二、举例:

在tab切换中,切换三个组件,不用keep-alive,每个组件在重新显示时,都会再执行created,并重复发起请求
如何在外面包裹keep-alive, 则初次创建后会缓存组件,再次显示,不会再执行created,而是直接显示缓存的内容,不会再重复发起请求

三、使用keep-alive后,缓存组件会多两个生命周期钩子:

        activated(){
            console.log('a-当缓存组件被激活时');
        },
        deactivated(){
            console.log('a-当缓存组件失活时');
        }

四、keep-alive有两个属性: include exclude

        <keep-alive include="a1">    只有a1被缓存,a1是组件的name属性的值
        <keep-alive exclude="a1">    只有a1没有被缓存

五、实例:

参考vue-app各阶段项目代码-----21-0401-keep-alive缓存组件在项目中的使用(component组件-动态路由组件)

六、

**** 在动态路由的出口 <router-view>上使用keep-alive的技巧

如果不用keep-alive,会重复发起请求

使用的步骤:

(1) 在动态路由组件内部的created中发起ajax请求
(2) 设置key值

               <keep-alive>
                   <router-view :key="$route.fullPath"></router-view>
               </keep-alive>
上一篇 下一篇

猜你喜欢

热点阅读