问题标签 [vue-dynamic-components]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5696 浏览

vue.js - Vue3 中未发出生命周期钩子 beforeDestroy

我使用 vue3 beta 18,发现当我删除由 v-for 中的动态组件呈现的组件时,不会发出 beforeDestroy。

两者都没有被停用,被破坏。

当我从集合“windows”中删除它时,该组件“消失”了。

0 投票
1 回答
1608 浏览

javascript - 动态组件给出类型错误:无法读取未定义的属性“__esModule”

我大致尝试按照这篇文章从我的asp.net核心webapi中动态导入vue组件

我的组件.vue

我使用以下命令将其转换为 .umd.min.js :

导入组件时,Everythnig 似乎运行良好,但它没有出现在应用程序中,我可以在控制台中看到此错误:

我究竟做错了什么?

umd.min.js 输出:

主要的Vue组件

外部组件.js

0 投票
1 回答
418 浏览

javascript - 'Uncaught TypeError: Class extends value undefined is not a constructor or null' 尝试加载外部 TypeScript 组件时

我有一些东西可以使用这个 npx 命令(在 PowerShell 中运行)构建我的组件:

然后我根据这篇文章将它们导入我的 vue 应用程序

当使用 JS 编写组件时它工作正常,但是一旦我尝试在 TS 中创建一个,我就会收到此错误:

我的 TypeScript vue 组件非常简单:

我确实尝试过像这样导入 vue:

但它没有效果

有谁知道我该如何解决这个问题?

0 投票
1 回答
253 浏览

javascript - vue 循环一个对象来渲染多个版本的组件

我想将多个组件放在一个包装器中,所以它看起来像这样,

我正在尝试以下,

我的问题是人员在运行chooseType组件时返回未定义,为什么会这样,人员对象不为空,所以确实有孩子。我怎样才能循环一个动态组件,因为我假设我做错了?

0 投票
1 回答
38 浏览

vuejs2 - Vue2基于数据创建组件

我想创建一个基于 ajax api 响应或数据的组件,其中包括:

  1. 模板
  2. 数据
  3. 方法 - 可能有几种方法

备注:响应或数据是动态的,不保存在文件中。

我试图生成并返回结果,例如:

并编译上面的代码:

我收到错误Vue.compile(comp1)-

  • 模板应该只负责将状态映射到 UI。避免在模板中放置带有副作用的标签,例如 <script>,因为它们不会被解析。

提前致谢

0 投票
1 回答
493 浏览

laravel - Laravel webpackChunkName 在块文件中使用波浪号(〜)字符创建错误的文件夹

我正在使用 laravel、vuejs 开发一个 Web 应用程序,并使用 webpack mix 创建动态加载的块文件。但是当我运行 npm run watch/npm run prod 时,它会在块文件夹中创建一些带有波浪号(~)名称的错误文件夹。如何解决?

文件名错误

webpack.mix.js 文件:

动态路由组件:

0 投票
1 回答
182 浏览

javascript - Vue动态组件,如何处理不同的emit和pass props并替换不同的slot?

只知道一些动态组件的基础知识,但是如果组件比较复杂或者相互不同,那么如何处理parent中的emit、props和slot呢?

假设我有 3 个组件:

组件 1

这是关于加载的,我需要在插槽中传递一个道具“颜色”和一些按钮。

组件 2

该组件不包含任何道具或插槽,但单击按钮时会发出。

组件 3

该组件即将显示信息。但是有3个不同的插槽。

最后,在父视图中,如果我想使用动态组件,正确的方法是什么?

我的意思是 comp1 和 comp3 都需要传递道具或替换插槽。switchToCompX方法,我怎样才能以正确的方式补充它?以及如何从 comp2 接收发射,因为只有 comp2 会发射。

0 投票
0 回答
49 浏览

vue.js - 如何在事先不知道其 URL 的情况下通过 http 加载预构建的可重用 Vuejs 组件?

我有以下设置:

我在通过 Apache 提供的那些 URL(dev + prod)下有两个预构建的 VueJs 应用程序:

这些是通用的 VueJs 应用程序,需要包含在 VueJs 中实现的相同游戏并将它们嵌入

我有一个后端实现,它提供一个单一的文件 vuejs 游戏,它的构建如下:

yarn vue-cli-service build --target wc --name game ./src/components/Game.vue

服务方式如下:

我有一个端点来保存每个游戏的玩家进度,例如:

每次,根据当前日期激活不同的游戏 - 所以我不知道要事先获取的游戏资产的实际网址。我将要求我的后端 api 查看哪些是活动的,如下所示:

我正在研究http-vue-loader分布式 Vue.js 应用程序第 1 部分:通过 HTTP 加载组件如何在 Vuejs 上实现动态组件 和其他选项,但我不确定是否可以使用动态 URL。我也不知道解决这个问题的最佳方法是什么。

如何以最简单的方式实现这一点?

0 投票
1 回答
32 浏览

javascript - 为什么如果我得到计算对象中的对象属性未定义而不是对象本身?哪种方法更适合这种情况?

我的问候。

放在上下文中,我问这个问题的目的是能够根据<app-selector>Vue 组件的选定选项在表单中呈现子组件,就这么简单和愚蠢。

为了简单起见。我在这里做了一个片段来揭示我想要弄清楚的东西。基本上,目的是使用计算属性获取要呈现的组件名称cardTypeComponent。但是,我想了解这种cardTypeComponent工作方式,因为我不明白为什么一方面,第一个返回 ( return this.form) 给对象 ( this.form) 提供了我想要的属性 ( card_type),但另一方面,第二个返回 ( return this.form.card_type ? this.form.card_type + 'Compose' : '') 是给我一个空字符串,假设this.form.card_typeundefined当很清楚第一次返回时,实际上并没有把它当作undefined.

有更多的上下文,因为一旦选择了选项,服务器就会在设置this.form对象内部的值之前进行验证过程。此外,表单交互是通过步骤进行的,因此一旦用户选择了选项,他必须单击一个按钮才能到达与所选类型卡对应的表单字段,因此该组件不会在用户的第一刻呈现在片段方法中选择一个选项。但是,它会纠缠我的要求。预先感谢。

最好使用下面的 Fiddle 链接。

片段

https://jsfiddle.net/k7gnouty/2/

0 投票
1 回答
170 浏览

vue.js - Vue $emit 在动态组件 /promise 上无法正常工作

我创建了一个接受动态数据(th、tr、td、...)的表组件。表数据(td)可以是一个动态组件,如下所示:

我在另一个组件中提供所需的数据,如下所示:

这是我的 CancelOrderButton:

一旦我点击一个按钮并调用 cancelOrder 方法,updateLoadingStatus 将毫无问题地发出。在 promise 解决后,它会再次发出。但处理程序不会触发。我已经检查了一切。我确定会发出事件。当我将第二个 emit 语句移出 finally 块或者如果我不将 isLoading 作为动态表的道具传递时,这个问题将得到解决。