学习学习 cxxjackie 发表于 2022-8-13 22:39
我测试了一下,好像浏览器有对这个问题进行优化,循环引用的资源是能被正确释放的(主要是IE里有问题), ...
感谢哥哥的建议
更新了一版
我尝试了下最后还是选择用Object.defineProperty监听app.isUnmounted,
当isUnmounted变为true的时候把__vue__、WeakMap中与app相同的值直接删除,从而销毁对app的引用。
感觉这样写起来简单一点,劫持Vue的销毁方法有点难度
(但是代码写的好臃肿……) steven026 发表于 2022-8-14 21:47
感谢哥哥的建议
更新了一版
我尝试了下最后还是选择用Object.defineProperty监听app.isUnmounted,
可以,现在看起来合理多了,代码应该是有优化空间的,比如把数组换成Set,这样删除更容易(也更快)。 大佬,仰望.jpg
666666 好用!之前 b 站一次更新后一些元素都不挂载 `__vue__` 了。一直在寻找绕过的办法,由于没对 vue 有什么研究未果,没想到还能这样!感谢!
我的偶像 tampermonkey 399.15519937667807 感谢楼主的付出, 报告bug一例:
当元素下挂载超过2个app时, __vue__数组会出错,
排查了一下是recordDOM函数的问题,
value.push(app)返回的是数组长度, 删掉"el.__vue__ ="即可
pawjazz 发表于 2025-5-30 14:55
感谢楼主的付出, 报告bug一例:
当元素下挂载超过2个app时, __vue__数组会出错,
很久没研究了 这代码太老了 当初写的时候一知半解
不过现在有更好的hook方式了
等脚本猫mv3实现IndexedDB之后可能会重构下 steven026 发表于 2025-6-3 03:45
很久没研究了 这代码太老了 当初写的时候一知半解
不过现在有更好的hook方式了
等脚本猫mv3实现IndexedD ...
期待您的更新, 我这边有个React和Vue3的混合页面, 目前版本一劫持Proxy, React就报错, 数据出不来了
页:
1
[2]