javascript - 在删除包含 vue 根元素的父 dom 元素之前,是否必须卸载 Vue.js 3 应用程序?
问题描述
TL;DR:您能否简单地删除包含 Vue 应用程序的子元素的 DOM 元素,并且在 SPA 中多次执行此操作没有内存问题。或者是否有一个特殊的卸载过程要遵循。
所以这个场景是一个 jQuery & Backbone 应用程序被迁移到 Vue 3。加载页面/视图由应用程序 JS 控制,Vue 组件由 JS 使用 createApp() 手动加载。
当视图发生变化时,Vue 根元素上方的父 dom 元素会使用 jQuery 删除。
在这种情况下,您是否需要考虑将 vue dom 元素从 DOM 中移除的问题?我们应该在删除父 dom 之前卸载 Vue 应用程序吗?是否需要考虑内存泄漏?
我目前尝试过:
vue_app_instance.unmount()
但由于某种原因,Vue Chrome 扩展程序会出现大量错误:
未捕获(承诺中)错误:在 backend.js:811 处获取应用程序 [object Object] 的应用程序记录超时
但是如果我让 jQuery 删除页面并允许 Vue 在用户导航到的新页面上挂载一个新的“应用程序”,该应用程序可以正常工作并且没有错误。
解决方案
推荐阅读
- iccube - icCube Reporting:无法保存带重音的报告
- java - eclipse 工作区不显示导入的项目
- django-rest-framework - 从 django-rest-framework 调用模型方法
- java - 如何使用maven spring将项目A的依赖项(方法)包含到项目B中
- c++ - 带有 Visual Studio Code 的 FLTK 库
- python - 用文本替换特定列
- python - 我正在尝试从 python 正则表达式解析字符串-当字符串包含“:”时无法解析
- r - 在 R 中创建具有非数值的函数
- laravel - Laravel:我怎样才能伪造一个 http 请求到第 3 方和模拟 json 响应
- php - PHP 无法捕获 Percona 集群上的 MySQL 二进制日志事件