【发布时间】:2018-02-11 20:01:05
【问题描述】:
考虑:
class X {}
class B extends X {}
class C extends X {}
在一个组件中,我有一个 X 数组:
<template>
<ul>
<li v-for="item in items">
<a-view v-if="item.constructor.name === 'A'"></a-view>
<b-view v-if="item.constructor.name === 'B'"></b-view>
</li>
</ul>
</template>
export default {
...
data() {
return {
items: [new A(), new B()]
}
}
这可行,但并不优雅。类型检查使用字符串,其中 item instanceof B 将是惯用的 es6 代码。但是,这不起作用。
在 vue.js 中渲染多态列表的惯用方式是什么?
【问题讨论】:
标签: javascript ecmascript-6 polymorphism vuejs2