问题标签 [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.
vue.js - 如何将静态组件附加到 Vue 中的动态组件?
我想要实现的是:我有一个带孩子的<v-window>
父组件。<v-window-item>
第一个子循环通过一个返回对象并根据其内容动态可视化卡片的 Vuex getter。但是,我有另一个类似于摘要的静态组件,其中包含一个注销按钮,我想将其附加到<v-window>
从商店生成的最后一个动态中。到目前为止,这是我设置代码的方式:
有人可以给我一些关于如何实现这一目标的指示吗?提前致谢!
javascript - 如何通知父组件在 Vue 动态组件中发生了某些事情?
我有一个 Vue 组件,它生成一个动态组件,并且在该动态组件中是一个用于进行 Ajax 调用的按钮的单击处理程序。在成功完成 Ajax 调用后,我想通知生成动态组件的组件 Ajax 调用已完成。我怎么做?
有问题的代码的基本结构如下:
我最初的想法是this.$emit('btnClicked', 'data-here')
在 Ajaxsuccess
回调中做,但是当我尝试在方法调用的部分或方法调用中附加一个@btnClicked
事件处理程序时,我得到一个 Vue 错误。content-component
template
Vue.component
Vue.compile
基本上,我不知道该怎么做。动态组件中的this
上下文肯定是不同的,所以我不能只是给父组件添加一个数据属性,然后在动态组件的Ajax回调中设置。我试过了,但它不起作用。
我相信有一种简单的方法可以做到这一点,但老实说,我不确定如何做。任何帮助将不胜感激。谢谢你。
编辑:值得注意的是,我试图将动态组件视为父组件的常规子组件。因此,我this.$emit('btnClicked')
在 Ajaxsuccess
回调中添加了一个调用,然后@btnClicked
向content-component
.
也许我只是做错了,但我尝试了以下两种方法:
但似乎两者都不起作用。谢谢。
javascript - vue动态组件,重复信息
我有一个列表,如果您单击打开它并列出子列表,则发出请求 ajax 以加载数据并绘制子列表,执行此工作的组件是相同的,是递归的并加载到子列表中通过动态组件,问题在于当您加载第二个列表的子项时。并打开第三个这些重复。
像这样的https://codepen.io/anthonygore/pen/PJKNqa?editors=1010,但每个项目都是对 api 的调用
vue.js - Vue/Nuxt:如何让组件真正动态化?
为了使用动态定义的单页组件,我们使用component
标签,因此:
问题是,这根本不是非常动态的,因为我们可能想在这里使用的每个组件不仅需要静态导入,而且还需要注册到components
.
我们尝试这样做,至少是为了避免需要导入所有内容:
但当然这失败了,因为它似乎DynamicComponent
必须在到达之前定义created()
。
我们如何才能使用真正动态的组件,即在运行时导入和注册,只给出它的名称?
vue.js - Vue - 补间未创建的组件
我有一个基于 json 对象呈现的动态组件。
车辆类型是可以是汽车、摩托车或卡车的组件。本质上,这就是应该呈现的内容。
我遇到的问题是因为这些是动态组件,它们不使用 css 类或 vue 进行补间$refs
。
我试过使用$nextick()
and $forceUpdate()
; 但补间不会触发。它看起来像是反应性警告之一。在旧的 jquery 时代,我认为 defer 会修复它。
有没有办法通过 ? 使动态组件可用$refs
?
使用的补间引擎是gsap。
vue.js - 如何创建一个动态 vue 组件,该组件的计算模板包含另一个具有 Object 属性的组件,而不将其作为字符串传递
我有一个这样的组件:
关系.vue
奇怪的服务.js
入口.vue
innerText 属性决定了组件将如何呈现,并且它可以通过将其 @ 插槽置于任何位置来一直更改。在这个例子中,结果是:
这是有效的,因为Entry
组件具有作为entry
类型的属性,String
但我必须JSON.stringify()
在 side 中输入对象weirdService
,然后在Entry
组件中我必须JSON.parse()
使用字符串才能取回真实对象。我怎样才能使上述工作,以便我将一个对象直接传递给一个动态模板,这样我就可以一直避免序列化和反序列化。
顺便说一句,要使其工作 runtimeCompiler 需要在 vue.config.js 中启用:
我知道我可以使用 JSX 返回包含对象的组件,但这仅在 render() 函数中允许,而不是像我这样的自定义函数。
谢谢!!
vue.js - 同一组件之间的过渡?
我还有一个按钮来更改当前索引和更新组件的数据。这不起作用,我认为这是因为更改数据不会使其成为触发转换所需的新组件。
我在网上看到的所有示例都是用于在不同组件之间切换,这项工作但我无法应用它,因为它们都是针对同一个组件的。
我发现的另一个解决方案是在 v-for 中创建一堆组件,然后在当前组件上显示一个 v-show,但是我需要绝对定位来防止过渡跳跃,这似乎不是这样做的方法它。
我想我可以在更新函数的脚本标签或其他东西中进行转换,但是当转换应该为我处理这个时,这似乎是错误的方式。我是不是错过了什么。
vue.js - 我想在运行时将 vue js 组件添加到我的 webapp。我怎样才能做到最好?
我想要一个 vue js Web 应用程序,用户可以在其中添加新组件。我希望这些组件在运行时编译并添加到 dist 文件夹中,这样系统就可以轻量级了。然后用户可以看到他们所做的更改,而无需重新启动系统。刷新是可能的,但不是最佳的。我对 vue.js 没有那么丰富的经验,所以我不知道从哪里开始,我应该使用什么......
如果您有任何想法,请随时回答提前谢谢
javascript - 运行时动态加载Vue单文件组件
我们有一个 Vue 应用程序,并希望允许第三方创建插件。我们希望插件以 Vue 单文件组件的形式构建。
在运行时,最终用户会选择一个插件添加到应用程序中。该应用程序将获取纯文本 .vue 文件,即时编译它,并将其显示在应用程序中。
Vue 支持动态和异步组件,但这些组件需要提前编译到应用程序中。我们想做同样的事情,除了动态加载代码。
我怎样才能使这项工作?
这是我到目前为止所得到的:
(我修改了构建,因此存在 vue-template-compiler。)
上面的代码会产生这个错误:
我猜想无论 parseComponent() 产生什么都不<component>
是我们想要的。
javascript - 从 VueJS + Vuex 中的父组件访问动态组件内的数据
我创建了这个演示来更好地解释我的目标:https ://codepen.io/Albvadi/pen/OJMgByR
每个按钮都会创建一个新警报,在组件数组的 vuex 存储中创建一个对象。通过该component
属性,我知道要渲染的组件的类型。
每个警报都会在组件内的数据属性中生成一个随机字符串。如何配置与 Vuex 的连接以从全局组件数组中的子警报组件获取数据?
谢谢!