Mik*_*koP 6 javascript vue.js vue-component
我有一个对象列表。每个对象都包含一个type字段,用于确定需要呈现的组件。例如,对于paragraph类型,我需要渲染一个名为Paragraph. 我有大约十几种不同的组件类型。
目前我在 Javascript 中遍历列表。我创建了一个带有随机 ID 的 div,并用我手动创建的 Vue 组件替换它new [ComponentType]({ el: ... })。但是,这需要 DOM 操作。有没有更好的方法不需要手动操作 DOM 结构?v-for或类似?
是的,有更好的方法。使用动态组件。
这是这些文档中显示的示例。
var vm = new Vue({
el: '#example',
data: {
currentView: 'home'
},
components: {
home: { /* ... */ },
posts: { /* ... */ },
archive: { /* ... */ }
}
})
<component v-bind:is="currentView">
<!-- component changes when vm.currentView changes! -->
</component>
Run Code Online (Sandbox Code Playgroud)