【发布时间】:2022-01-03 18:47:17
【问题描述】:
以下案例:我有一个 API 输出我的页面的所有内容,以及它的结构等(为了更好地理解,想象一个包含页面构建器的 CMS,作者可以通过拖动来放置组件并 drop 生成页面内容,由该 api 传递到前端)。
api 输出的结构类似于:
{content: [
{component: hero, content: {...} },
{component: form, content: {...} },
...
]}
所以要生成相关内容,我会考虑使用动态组件,例如:
<template v-for="item in content">
<component :is="item.component" />
</template>
但是,这样做我会遇到一个问题,即我必须以某种方式将属性数据添加到我的组件中,这(据我所知)在 Vue 文档中没有描述。所以现在我想知道如何将道具传递给具有完全不同道具的动态组件(英雄可能有图像,表单可能有输入占位符等等) - 有什么想法吗???
【问题讨论】:
-
道具通过 v-bind 传递,就像任何其他动态道具一样。
标签: javascript api vue.js v-for vue-dynamic-components