Vuejs2 在Vue应用程序中,如何检查组件标记是否可用?

Vuejs2 在Vue应用程序中,如何检查组件标记是否可用?,vuejs2,vue-component,Vuejs2,Vue Component,假设我有这个收藏: products: [ { name: "ProductOne", value: 20 }, { name: "ProductTwo", value: 30 }, { name: "ProductRandom", value: 50 } ] 我希望能够使用基于产品名称的特定组件,或退回到默认值: <div v-for="product in products"> <product-one-and-two :product="product"

假设我有这个收藏:

products: [
  { name: "ProductOne", value: 20 },
  { name: "ProductTwo", value: 30 },
  { name: "ProductRandom", value: 50 }
]
我希望能够使用基于产品名称的特定组件,或退回到默认值:

<div v-for="product in products">
  <product-one-and-two :product="product" v-if="componentExists(product.name)"></product-one-and-two>
  <default-product v-else :product="product"></default-product>
</div>

这是一个过于简化的例子,在现实生活中,我有数千种产品,我们只想创建特定于产品或类别的模板文件,而不必使用条件污染主应用程序。我们希望组件作者不必通过其他团队将其新模板添加到管道中


使用Vue是否可以实现这一点?

我会使用动态组件

并注册新组件

import newProduct from "../path/to/newProduct.vue";
components: {
   newProduct
}

我会用动态组件

并注册新组件

import newProduct from "../path/to/newProduct.vue";
components: {
   newProduct
}

谢谢,非常感谢。如果我们无法找到一种方法来解决必须在应用程序中注册组件的问题,我们可能会这样做(我们有一个模板管道,可以将所有内容呈现在产品_templates/目录中)@NickM这是我目前可以提供的所有帮助谢谢,非常感谢。如果我们无法找到一种方法来解决必须在应用程序中注册组件的问题,我们可能会这样做(我们有一个模板管道,它可以在产品_templates/目录中呈现所有内容)@NickM这是我目前可以提供的所有帮助
import newProduct from "../path/to/newProduct.vue";
components: {
   newProduct
}