keep-alive

默认每次跳转一个路由会销毁原路由对应的组件并创建新路由对应的组件,不会保留状态
如果希望保留状态,可以使用keep-alive
keep-alive是Vue内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染
router-view是一个组件,如果直接被包含在keep-alive内,所有路径匹配到的视图组件均会被缓存

被keep-alive包含的router-view所对应的组件内可以使用activated及deactivated函数

export default{
    activated(){
    // 被激活时调用    
    }
    deactivated(){
    // 失去激活状态时调用
    }
}

keep-alive具有include及exclude属性:
1.include-字符串或者正则表达式,只有匹配的组件会被缓存
2.exclude-字符串或者正则表达式,任何匹配的组件均不会被缓存
以上两个属性中可以放入组件的name值

<keep-alive exclude="profile,user">
    <router-view/>
</keep-alive>
posted @ 2020-02-21 22:07  kanaliya  阅读(178)  评论(0)    收藏  举报