怎样在Vue中实现通过JavaScript对象来动态传递组件Props

发布于 2022-09-13 00:37:01 字数 496 浏览 13 评论 0

题目起得不太好,请看描述:

想实现一个通过JavaScript对象来动态决定组件的功能:

const item = {
  component: 'Button',
  componentProps: {
    onClick: () => {
      // doSometing
    },
  },
},
<component :is="item.component" v-bind="item.componentProps"></component>

但是我遇到的困难就是Button组件的文字无法通过$attrs传递进去。在react中记得有一个childrenprops可以进行传递。这在vue中该如何实现?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

伴随着你 2022-09-20 00:37:01

一样,这也可以通过属性进行传递,比如你的componentProps中有个属性为text,他的值是记录button组件的值,那么你在Button组件中的props中接收一下这个属性,然后就可以正常使用了
<button>{{text}}</button>

丶情人眼里出诗心の 2022-09-20 00:37:01
<component :is="item.component" :componentProps="item.componentProps"></component>

组件中

export default {
  props: {
    componentProps: {
      type: Object,
      default: () => {}
    },
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文