失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 缓存路由组件+路由组件的2个生命周期钩子 activated 和 deactivated

缓存路由组件+路由组件的2个生命周期钩子 activated 和 deactivated

时间:2023-08-18 16:05:50

相关推荐

缓存路由组件+路由组件的2个生命周期钩子 activated 和 deactivated

目录

缓存路由组件

路由组件独有的生命周期钩子 activated 和 deactivated

缓存路由组件

正常情况下,切换路由组件时,不展示的路由组件会被销毁。为了让不展示的路由组件保持挂载,不被销毁,就用到了缓存路由组件。

想要某个组件在切换后不展示时不被销毁,将其 的<router-view></router-view>写在<keep-alive></keep-alive>标签里面。这样切换路由时,前一个路由就不会被销毁。

<keep-alive><router-view></router-view></keep-alive>

<keep-alive>默认是所有写在<keep-alive>所包裹里面的 组件切换后都不会销毁。属性 include = 'News' 表示 组件名为News且是keep-alive所包裹,切换后不会被销毁。

问题:如果多个路由要在<router-view></router-view> 中所展示,但是缓存的话,只想缓存其中的某几个路由,不想缓存所有的路由,写法:

<keep-alive :include= '["News","Message"]'> <router-view></router-view></keep-alive>

分析:写成一个数组的形式,把所有需要缓存的路由名,写到数组里面。

注意点:这样缓存路由的话,会阻止该路由的销毁函数执行(beforeDestroy和destroyed),也就不能销毁。

路由组件独有的生命周期钩子 activated 和 deactivated

在写缓存路由时,用到 activated 和 deactivated,既能保证路由会被缓存,也能保证该路由会被激活和失活。

activated 在路由被激活时执行,deactivated在路由失活的时候执行。

eg:

如果觉得《缓存路由组件+路由组件的2个生命周期钩子 activated 和 deactivated》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。