社区
JavaScript
帖子详情
vue 标签页关闭时,如何销毁内存
hxshxs123321
2020-04-02 04:41:29
vue 标签页关闭时,销毁内存
...全文
2262
9
打赏
收藏
vue 标签页关闭时,如何销毁内存
vue 标签页关闭时,销毁内存
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
二刺猿&程序猿
2021-02-25
打赏
举报
回复
我也是,组件销毁后,内存 不知道怎么清理,用 内存监控 也是 ,销毁前后 就差了一点点的 内存占用。
组件用的是element的form表单
啊柒_
2020-04-15
打赏
举报
回复
试试beforeDestory,当执行这个生命周期钩子的时候 vue的实例从运行阶段进入销毁阶段 此时实例身上的data 还有 methods处于可用的状态。
简_洋
2020-04-14
打赏
举报
回复
这有点自相矛盾。你使用keep-alive就是想离开页面时能缓存。但是你又想退出页面销毁内存。
eisldkw
2020-04-11
打赏
举报
回复
使用了keep-alive
hxshxs123321
2020-04-08
打赏
举报
回复
我就是 用的你说的方法,内存不销毁
hxshxs123321
2020-04-07
打赏
举报
回复
有么有大神知道怎么解决
_念_
2020-04-07
打赏
举报
回复
最近我也有用到这个东西,也有遇到你这个类似的问题,思考了一段时间,在没有看源码的层面上想到了一个方法,还没有实践,说出来咱们讨论一下。主要的思路就是利用组件的
include
属性,我们再vuex里面维护一个数组,每开一个要缓存的页面就向里面推一条数据,然后每次关闭页面,都在钩子里去吧对应页面从数组中删除。keepalive组件的include属性,绑定为vuex中的这个数组,应该就可以实现这种效果了。暂时这样,一会去研究一下keepalive的源码,看看有没有更好的方法。
hxshxs123321
2020-04-02
打赏
举报
回复
使用了keep-alive
仰望星空的代码
2020-04-02
打赏
举报
回复
页面关闭后如果没有使用keep-alive那么vue会自动销毁组件
vue
刷新
页
面所占用的
内存
没有被释放,刷新
页
面增加
内存
的问题(重要)
场景: 在
vue
项目正常情况,我们都知道开启的定
时
器setInterval、监听器watch、eventBus事件总线监听器、以及一些其他外部js的监听器,需要在beforeDestroy中卸载。如果没有进行卸载,那么他们相关回调函数使用的变量,就不会被卸载,最后很有可能会造成
内存
泄露的问题,也就是在这个
页
面一直访问,最后
内存
占满之后
页
面直接崩溃了。 但有的
时
候我们在beforeDestroy也对这些定
时
器监听器什么的进行了卸载删除,但是刷新
页
面之后
内存
还是一直增加,只有
关闭
页
面
内存
才真正被释放了。
vue
页
签模式+keep-alive解决
关闭
页
签后缓存组件未
销毁
问题
1.简介
vue
使用
页
签模式,组件使用keep-alive缓存,发现
页
签
关闭
后缓存组件未
销毁
,只是出于非活动状态 2.解决 使用keep-alive的include属性,这个属性包含了缓存组件的名称,可以将其赋值为动态属性
页
签store export default { state: { current: layui.data('tag').current || {},//当前
页
签 list: layui.data('tag').lis...
Vue
.js
关闭
页
面
时
清除本地存储
在
Vue
.js中,我们经常需要在用户
关闭
页
面
时
清除本地存储。在本文中,我将向您展示如何在
Vue
.js中使用localStorage并在
页
面
关闭
时
清除它。首先,我们需要在
Vue
.js应用程序中安装一个插件,以便能够在
页
面
关闭
时
触发一个事件。在上面的示例中,我们首先引入了
Vue
.js和
Vue
Router的库。希望这个简单的示例能够帮助您在
Vue
.js应用程序中实现在
页
面
关闭
时
清除本地存储的功能。请注意,由于浏览器安全策略的限制,您无法在
Vue
.js应用程序中直接检测到
页
面刷新或导航的事件。
Vue
页
面切换后,
内存
未释放(通过缓存路由来解决)
keep-alive详解: 是
Vue
的内置组件,能在组件切换过程中将状态保留在
内存
中,防止重复渲染DOM。 包裹动态组件
时
,会缓存不活动的组件实例,而不是
销毁
它们。 与 相似,只是一个抽象组件,它不会在DOM树中渲染(真实或者虚拟都不会),也不在父组件链中存在,比如:你永远在 this.$parent 中找不到 keep-alive 。 第一种:缓存所有路由 <keep-alive> <router-view></router-view> </keep-al.
vue
关闭
弹如何
销毁
子组件_
vue
里如何主动
销毁
keep-alive缓存的组件
问题产生的背景我们一个后台,在切换一些
标签
页
的
时
候,是使用的 keep-alive 缓存的
标签
页
,也使用了 include 属性来决定哪个
页
面进行缓存,而
标签
页
的切换实际上是路由的切换,也就是说打开一个新
标签
页
的
时
候,url 会跟着变化,老的
标签
页
如果在 keep-alive 的 include 范围内那就会缓存下来。然后客服人员就反馈
页
面开的久了就会崩溃,因为他们基础上不会刷新
页
面(工作需要),...
JavaScript
87,901
社区成员
224,628
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章