为了账号安全,请及时绑定邮箱和手机立即绑定

如何为 Vue 组件实现策略模式

如何为 Vue 组件实现策略模式

沧海一幻觉 2023-11-12 15:38:50
所以事情是这样的。我有一个Cat,Dog和 ,Horse它们都实现了该Animal接口。对于每一个,我都有一个DogComponent,CatComponent和HorseComponent。问题:如何创建一个在不使用或一堆s 的情况下AnimalComponent接受任何Animal但渲染的组件?DogComponentDogswitch-casev-if<template>请假设仅渲染不同的imageUrl和title是不够的。
查看完整描述

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

只需使用Vue 动态组件:)

这个特殊组件根据属性中提供的名称呈现一个组件is

<template>

  <component v-for="animal in animals" :is="`${animal.type}-component`"/>

</template>


<script>

// vue syntax omitted for simplicity

animals: [

  { type: 'dog' },

  { type: 'cat' },

]

</script>


查看完整回答
反对 回复 2023-11-12
  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信