挂载 vue 组件 - Vue 3

2024-04-28

我想在 Vue 3 中这样做

new ComponentName({ 
  propsData: {
    title: 'hello world',
  }
}).$mount();

但我收到这个错误:VueComponents_component_name__WEBPACK_IMPORTED_MODULE_1__.default is not a constructor

目前,我们正在使用上述方法通过以下方式在我们的旧应用程序中附加 VUE 组件:append

我想在 VUE 3 上做同样的事情,但我还没有找到方法

提前致谢


我找到了答案的解决方案,在 vue 3(vue 项目之外)中安装 vue 组件与 vue 2 不同,这是方法:

// mount.js

import { createVNode, render } from 'vue'

export const mount = (component, { props, children, element, app } = {}) => {
    let el = element

    let vNode = createVNode(component, props, children)
    if (app && app._context) vNode.appContext = app._context
    if (el) render(vNode, el)
    else if (typeof document !== 'undefined' ) render(vNode, el = document.createElement('div'))

    const destroy = () => {
        if (el) render(null, el)
        el = null
        vNode = null
    }

    return { vNode, destroy, el }
}
  • el:要追加的 DOM 元素
  • vNode:Vue实例
  • destroy:销毁组件

这是挂载 vue 3 组件并直接附加到 DOM 的方法,可以如下使用:

// main.js

import { mount } from 'mount.js'

const { el, vNode, destroy } = mount(MyVueComponents,
      {
          props: {
            fields,
            labels,
            options
           },
           app: MyVueApp
      },
)

$element.html(el);

希望有帮助,问候!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

挂载 vue 组件 - Vue 3 的相关文章

随机推荐

  • Android 中的 RoboSpice 库是什么

    我正在尝试了解 android 中的 RoboSpice 库 我在这里看到了在线文档 https github com stephanenicolas robospice wiki Starter Guide 我尝试过什么 我之前研究过使用
  • 使用StreamBuilder时,如何在用户离线时显示不同的Widget?

    我正在尝试从互联网上获取一些数据 随着使用FutureBuilder 处理各种情况 如离线 在线 错误很容易 但我正在使用StreamBuilder我无法理解如何处理离线案例 以下是我使用 StreamBuilder 的代码 它可以工作 但
  • mysql连接3个表

    如何连接三个具有一个公共列 id 的mysql表 例如 从表1中选择a b 从表2中选择c d 从表3中选择e f 其中id x 谢谢 SELECT t1 a t1 b t2 c t2 d t3 e t3 f FROM table1 t1
  • 访问 Bookshelf.js 中的嵌套关​​系

    我想你可能会说我正在构建一个 reddit 风格的应用程序 所以我有一个主题 该主题有评论 这些评论有父评论等 这是我的评论模型 var Comment bookshelf Model extend tableName comments t
  • 在 Alpine Docker 容器上安装 OpenSSH

    第一次运行 alpine docker 容器并尝试 openssh 安装时 会发生以下情况 ole T docker run it rm alpine bin ash apk add openssh WARNING Ignoring APK
  • 递归 CTE 中的 TSQL GROUP BY

    是否有解决方法可以在循环 CTE 内使用 GROUP BY 或者有解决方法 我需要对 CTE 表的结果集进行分组 并在具有相同 CTE 的另一个循环中使用它 但出现以下错误 不允许使用 GROUP BY HAVING 或聚合函数 递归公用表
  • Angularjs 和 api 之间的内部服务器错误 500

    我正在尝试从 angularjs 保存数据并将其发送到 api 但出现错误 500 内部服务器错误 控制器是一个数组 包含来自 html 页面的范围 任何帮助 控制器 scope save function scope setup push
  • 如果我使用 Apache::DBI 的 connect_cached(),我应该断开连接吗?

    我的基于 mod perl2 的 Intranet 应用程序使用DBI gt connect cached 据推测被覆盖Apache DBI的版本相同 它通常工作得很好 但就在最近 我们的测试服务器开始出现问题 只有两个用户连接 我们的应用
  • 当我添加 orderBy 应用程序在 firestore 中不起作用时

    onSnapshot 中未捕获的错误 错误 查询需要索引 你 可以在 new FirestoreError index cjs js 352 处创建它 在 JsonProtoSerializer push node modules fire
  • Android ADT版本需要20.0.0及以上

    昨天我尝试安装钛appcelerator 在这个过程中我编辑了一些android sdk安装现在我已经将我的android sdk更新到rev 20 但是当我启动eclipse时我收到一个错误 指出sdk需要20 0 0或更高版本 我尝试使
  • 插入触发器是否需要提交语句

    这是实际场景的简化 在哪里可以看到表 B 上缺失的记录 假设有两个数据库表 A B 表 A 上有一个插入触发器 它对表 B 进行插入 但它没有 COMMIT 如果我们通过 JDBC 连接器打开数据库连接 并对表 A 进行插入 并提交 触发器
  • Discord.py:如何等待用户对 BOT 评论的反应?

    我想制作一个 BOT 根据 BOT 帖子上的用户反应来执行某些操作 像这样的东西https i stack imgur com Vz0dZ jpg https i stack imgur com Vz0dZ jpg 但不是为了投票 只是为了
  • 适用于 iOS 7 AVSpeechSynthesisVoice 的 BCP-47 语音代码有哪些?

    今天我对 iOS 7 中提供的语音合成功能感到非常兴奋 我想选择男声 OSX 中默认为 alex 我不知道他的 BCP 47 代码是什么 顺便说一句 如何获取所有语音代码的完整列表 iOS 8 添加了希伯来语 iOS 9 到 12 中没有添
  • 在 Maven Shade 插件中包含依赖项

    我正在尝试使用 Apache 的 commons lang3 创建一个可部署的 jar 但是 我的 Hadoop 所在的 AWS 集群不包含此库 因此我收到了 classNotFoundException 我想我需要手动添加该依赖项 但我在
  • 如何在 Jupyter 笔记本的 HTML 输出中获取垂直滚动条

    当使用具有 500 行的 Excel 在 Jupyter Notebooks 中运行以下代码时 import pandas as pd pd set option display min rows 50 pd set option disp
  • 如何使用 RGB 元组列表在 PIL 中创建图像?

    假设我有一个像素列表 表示为具有 3 个 RGB 值的元组 列表如下list im getdata 像这样 0 0 0 255 255 255 38 29 58 如何使用这种格式的 RGB 值 每个元组对应一个像素 创建新图像 感谢您的帮助
  • 可以从curl访问docker服务,但不能从postman/chrome访问docker服务

    我正在做 docker 入门指南 https docs docker com get started part3 recap and cheat sheet optional https docs docker com get starte
  • Webpack 和外部库

    我正在尝试 webpack http webpack github io http webpack github io 看起来真的很不错 但我有点被困在这里了 假设我正在为库 f ex jQuery 使用 CDN 然后在我的代码中 我想要r
  • ARM + gcc:不要使用一大块 .rodata 部分

    我想使用 gcc 编译一个程序 并针对 ARM 处理器进行链接时间优化 当我在没有 LTO 的情况下编译时 系统会被编译 当我启用 LTO 时 使用 flto 我收到以下汇编错误 错误 无效的文字常量 池需要更近 环顾网络 我发现这与我系统
  • 挂载 vue 组件 - Vue 3

    我想在 Vue 3 中这样做 new ComponentName propsData title hello world mount 但我收到这个错误 VueComponents component name WEBPACK IMPORTE