vue如何实现组件的复制

除了数据绑定有没有其他方法

图片描述

阅读 10.4k
2 个回答

我理解的是 你要复制一个组件出来,不知道我理解的对不对
用vue的动态组件 来解决问题
用一个数组保存组件名称,然后通过v-for循环加载动态组件,就可以了

简单写了一点代码,编辑器写的可能有错误,大概意思能表达清楚

<Acomponent>
    <div>
        <component v-for="component in componentList" :is="component"></component>
    </div>
    <button @click="copy">增加</button>
</Acomponent>
new Vue({
    components: {
        'componentA': A,
        'componentB': B
    },
    data:{
        componentList:['componentA','componentB']
    },
    methods:{
        //点击按钮后 在componentList中 添加新的组件名称就可以了
        copy(){
            
        }
    }
})

https://cn.vuejs.org/v2/api/#...
如果需要,可以通过将 vm.$data 传入 JSON.parse(JSON.stringify(...)) 得到深拷贝的原始数据对象。

你是要这样么?看文档意思是同一个组件的两个对象这样来复制数据。不过没试过

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题
宣传栏