如何动态创建一个vue组件

How to create a vue component dynamically

我已经在我的 vue 实例中创建了一个组件。

components: {
        plan: {
            template: "#suggested-properties",
            props: ['plan', 'active'],
            computed: {
                isActive: function(){
                    return this.plan.name == this.active.name;
                }
            },
            methods: {
                setActivePlan: function(){
                    var that = this;
                    that.activeParameter= true;
                    this.active = this.plan;
                }
            }
        }
    }

有没有一种方法可以在我单击按钮时通过传递数据来动态创建相同组件的实例?

希望我能理解你的问题,你只需要遍历一个数组即可。

data: {
  numOfComps: 0
}

并在您的 HTML 中:

<component v-for="comp in numOfComps></component>

检查 fiddle 的工作示例:

http://jsfiddle.net/gc2t8o5t/

如果您事先不知道组件的名称,这里有一个解决方案

<component v-for="comp in arrayOfCompsString" :is="comp"></component>

会正确替换整个标记