Javascript 如何从以编程方式插入的组件调用Vue组件中的方法

Javascript 如何从以编程方式插入的组件调用Vue组件中的方法,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我试图从通过编程插入的子组件调用一个方法。 这是我的密码 MultipleFileUploader.vue 从“./MultipleFileUploaderPart.vue”导入MultipleFileUploaderPart; 让索引_计数=1; 导出默认值{ 组成部分:{ “多文件上传器部件”:多文件上传器部件, }, 道具:{ 上传名称:{ 类型:字符串, 默认值:“文件”, } }, 数据(){ 返回{ 下一个id:1, } }, 方法:{ 所选文件:函数(目标){ var Uplo

我试图从通过编程插入的子组件调用一个方法。 这是我的密码

MultipleFileUploader.vue


从“./MultipleFileUploaderPart.vue”导入MultipleFileUploaderPart;
让索引_计数=1;
导出默认值{
组成部分:{
“多文件上传器部件”:多文件上传器部件,
},
道具:{
上传名称:{
类型:字符串,
默认值:“文件”,
}
},
数据(){
返回{
下一个id:1,
}
},
方法:{
所选文件:函数(目标){
var UploaderPart=Vue.extend(MultipleFileUploaderPart);
新的UploaderPart().$on('fileselected','fileselected')
.$mount(“#多文件上传器”);
},
deleteUploader:函数(idToRemove){
this.uploaders=this.uploaders.filter(
上传者\u id=>{
返回上传者\u id.id!==idToRemove;
}
)
}
},
}
  • 将上载者声明为包含创建MultipleFileUploaderPart所需的所有道具的对象数组
  • 在主MultipleFoloader中的MultipleFoloaderPart上使用v-for以反应式生成MultipleFoloaderPart组件
  • 使用$emit from MultipleFileUploader part to MultipleFileUploader来发出创建和删除事件,以便MultipleFileUploader可以在上传程序数组中添加或删除元素
  • 请不要直接从DOM中删除或创建元素,让VUEJ来完成这项工作

  • 谢谢你的回答。事实上,我一开始就是这么做的。这不起作用。组件已添加和删除,但文件输入中的文件仍保留在那里。我编辑了这个问题。请检查。至少您必须添加:key=“uploader.id”,其中声明了v-for=“uploader in uploaders”。是的,有uploader.id作为:index=“uploader.id”传递。它不是;钥匙,但没关系,对吧?