javascript - VueJS - 将单独的组件加载到 vue 实例中
问题描述
在我的工作中,我目前正在重新设计我们的网络平台,包括将许多旧的javascript / jquery移动到VueJS中。
我有一个包含Vue组件的global.js
文件,我们有一个包含Vue、Axios、Vuex、...vendor.js
现在我们的网站上有一个文本编辑器,这个编辑器有一个Vue版本。问题是这个文本编辑器非常大,几乎500kb用于生产。所以我在一个单独的文件中为这个编辑器创建了一个单独的组件,因为我们只需要在两个页面上使用它。
现在,由于我的全局Vue占据了整个页面,我无法将文本编辑器插入其中,因为您无法将Vue实例放入另一个Vue实例中。
有没有一种方法可以将编辑器保留为一个完全独立的文件,但在页面加载时以某种方式使用全局Vue实例?
我已经搜索了很多,但在任何地方都没有遇到过这个问题。也许不可能做到这一点。
解决方案
您可以将编辑器的 CSS 修改为position:fixed
或position:absolute
并将其放入您的应用程序组件中。然后使用 av-if
切换可见性。
您还可以使用 3rd 方对话框组件包装您的编辑器,将其包装到模式弹出窗口中。
另一个不相关的建议是,如果组件的尺寸很大,请使用延迟加载。
推荐阅读
- sql - 多个表的反透视表
- git - x 在 master 后面提交,如何在分支上不合并 master
- typescript - 如何按字段扩展泛型类型?
- javascript - 使用 jQuery 将内容复制到文本框中
- javascript - JS计算后数字中的逗号
- azure - 恢复 velero 备份导致“缺少客户端令牌”
- python - 在函数中,如何将值分配给集合?
- c# - asp.net如何在Web表单中调用Console Application函数
- visual-studio - 在 Visual Studio 中更新 Nuget 包
- sql - 使用最大值 SQL 更新组中的所有行