【发布时间】:2018-07-31 21:08:45
【问题描述】:
当用户单击按钮时,我想在另一个组件中添加一个组件。但是我们如何在虚拟 dom 中渲染组件。 我尝试使用 v-html 但它不起作用。 解决此问题的最佳方法是什么?
export default {
data(){
return{
elements : {
hotel : '<hotel-form></hotel-form>'
},
}
},
methods:{
addHotel(){
console.log('add');
}
}
}
<template>
<div class="container" style="margin-top:300px;">
<div class="row" id="mainform">
<div v-for="item in elements">
<div v-html="item"></div>
</div>
</div>
<button @click="addHotel()">add hotel</button>
</div>
</template>
【问题讨论】:
-
这是关于酒店列表还是可以包含其他组件类型的元素列表?
-
它不是酒店列表,但 hotel-form 组件包含一个用于添加新酒店的表单。
-
所以您的列表中有多个酒店表格?或者为什么不在按下按钮时切换表单的可见性?
-
这是一个很好的方法,但我也有多种表格用于酒店、航班和航班暂停等。所以这就是我想动态做的原因。是否有可能用 vue 实现这种行为
-
好的,我明白了。您没有任何数据需要传递给您的表单吗?
标签: laravel-5 vuejs2 vue-component