如何在模板之外的组件中添加道具

时间:2018-09-15 15:54:34

标签: javascript vue.js vuejs2

所以我们只说我有一个HelloWorld组件,我想多次导入并为每个组件分配一些道具(因为每个实例将做自己的事情)。通常,您会执行以下操作:

为简单起见,我没有使用正确的语法。

  import HelloWorld from "./components/HelloWorld";

  <HelloWorld v-if="which" title="0" key="1"/>
  <HelloWorld v-else title="1"/>

但是,我想知道是否有一种方法可以导入已经分配了道具的东西,例如:

import HelloWorld from "./components/HelloWorld";
import HelloWorld1 from "./components/HelloWorld";

HelloWorld.props = { title: "1" } // this doesn't work
HelloWorld1.props = { title: "2" } // this doesn't work

为了使用<component>

例如

<component :is="which"/>

which = "HelloWorld" || "HelloWorld1"

1 个答案:

答案 0 :(得分:3)

只能在组件定义对象中设置组件的道具。

您似乎正在尝试根据which的值传递不同的prop值。您可以通过将对象传递到v-bind来实现:

<HelloWorld v-bind="which ? { title: '0', key: '1' } : { title: '1' }"/>