如何做到点击一个按钮动态添加一个组件呢?
是.vue组件
<template>
<input type="text" v-model='componentName'>
<button @click='add'>click me to add a component</button>
</template>
<script>
// 引入要添加的所有组件
import component1 from './components/component1.vue'
import component2 from './components/component2.vue'
export default {
data: function() {
return {
allComponents: [],
componentName: ''
}
},
components: {
// 注册所有组件
component1,
component2
}
methods: {
add: function() {
this.allComponents.push(this.componentName)
// 重置输入框
this.componentName = ''
},
render: function(h) { // h 为 createElement 函数,接受三个参数
// tag
// data
// children 具体看文档吧
return h('div',this.allComponents.map(function(componentName) {
return h(componentName)
}))
}
}
}
</script>
6 回答5.3k 阅读✓ 已解决
9 回答9.5k 阅读
5 回答3.8k 阅读✓ 已解决
4 回答8.1k 阅读✓ 已解决
7 回答10.2k 阅读
5 回答8.4k 阅读
2 回答10.5k 阅读✓ 已解决
我是写在父组件中的:
调用的时候
那么父组件中的content变化时,就会动态加载组件了