Vue中使用keep-alive缓存页面详解

发布时间:2020-05-26 06:47:43 作者:wx5a684dffd5e61
来源:网络 阅读:415

利用keep-alive 缓存需要缓存的页面

在app.vue中改写router-view

<keep-alive>
    <router-view>
        <!-- 这里是会被缓存的视图组件,比如 page1,page2 -->
    </router-view>
</keep-alive>

在router/index.js中添加路由元信息,设置需要缓存的页面

routes: [{
        path: '/',
        name: 'index',
        component: index,
        meta: {
            keepAlive: true, //此组件需要被缓存
        }
    },
    {
        path: '/page1',
        name: 'page1',
        component: page1,
        meta: {
            keepAlive: true, //此组件需要被缓存

        }
    },
    {
        path: '/page2',
        name: 'page2',
        component: page2,
        meta: {
            keepAlive: true, // 此组件需要被缓存

        }
    },
    {
        path: '/page3',
        name: 'page3',
        component: page3,
        meta: {
            keepAlive: true, // 此组件需要被缓存
        }
    }
]

钩子函数的执行顺序

不使用keep-alive
beforeRouteEnter --> created --> mounted --> destroyed

使用keep-alive
beforeRouteEnter --> created --> mounted --> activated --> deactivated
再次进入缓存的页面,只会触发beforeRouteEnter -->activated --> deactivated 。created和mounted不会再执行。我们可以利用不同的钩子函数,做不同的事。务必理解上述钩子函数的执行时机和执行顺序,本教程的核心就依赖于此钩子函数
activated和deactivated是使用keep-alive后,vue中比较重要的两个钩子函数,建议详细了解下。

在组件中,主要是在activated钩子函数中判断是否使用缓存

activated() {
//使用缓存,直接跳过
if(不需要缓存,则执行相应逻辑){

}

},

文末 分享一些技术学习视频资料:https://pan.baidu.com/s/13dbR69NLIEyP1tQyRTl4xw

推荐阅读:
  1. vue中keep-alive内置组件缓存的用法
  2. vue中keep-alive如何实现列表页缓存

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue keep-alive ue

上一篇:docker推送镜像到harbor

下一篇:android 瀑布流 AndroidStaggeredGrid

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》