Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从另一个vue.js组件通过此调用方法。$refs_Javascript_Vue.js_Vuejs2_Vue Component_Bootstrap Vue - Fatal编程技术网

Javascript 从另一个vue.js组件通过此调用方法。$refs

Javascript 从另一个vue.js组件通过此调用方法。$refs,javascript,vue.js,vuejs2,vue-component,bootstrap-vue,Javascript,Vue.js,Vuejs2,Vue Component,Bootstrap Vue,我有一个要触发的同级元素 ... 方法:{ callFileLoader(){ 这是。$refs.fileUploader.click() } } Get:Uncaught TypeError:this.$refs.fileUploader.click不是函数 如果它是同级组件,则无法通过v-ref方法在同级组件中识别它。 如果没有嵌套的父组件,请尝试通过父组件或Vue根访问它: this.$root.$refs.fileUploader.click() 或者在同级组件b-img中使

我有一个要触发的同级元素


...
方法:{
callFileLoader(){
这是。$refs.fileUploader.click()
}
} 
Get:Uncaught TypeError:this.$refs.fileUploader.click不是函数


如果它是同级组件,则无法通过v-ref方法在同级组件中识别它。 如果没有嵌套的父组件,请尝试通过父组件或Vue根访问它:

 this.$root.$refs.fileUploader.click()
或者在同级组件
b-img
中使用
this.$root.$emit()
,以触发事件,并将事件侦听器放置在
b-file
组件的
events
中,以捕获发出的事件并触发
单击

因此,在b-img中:

methods:{
  callFileLoader () {
    this.$root.$emit('file-uploader-click');
  }
} 
而在
b文件中
将是:

events:{
  'file-uploader-click' : function() {
    this.click();
  }
} 
您尝试在组件中放置
v-on:event name=“action”
,而不是放置events方法:


VueTools chrome extension对于检查VueJs生成的正确引用名称非常有用。在调试之后,我找到了一种使用以下语句访问该输入的方法:

   this.$refs.fileUploader.$el.firstChild
这是可以单击的
元素

newvue({
el:“应用程序”,
数据(){
返回{
文件:null,
文件2:null
}
},
方法:{
callFileLoader(){
这是。$refs.fileUploader。$el.firstChild.click();
}
}
});

所选文件:{{file&&file.name}
负载

这意味着b文件不可单击首先检查b文件组件是否可单击,然后尝试以下操作:
此。$refs.fileUploader.$el.click()
这些组件不是我的,因此我无法更改它们,然后尝试通过在已放置的组件实例中放置v-on来调用click,请更改您的问题,说明这些组件无法编辑:)谢谢!这些文件对$refs的范围非常不清楚。我不知道如何获得不同组件的$refs。我就是这样做的:$parent.$refs.notesComponent.$refs.notes.focus()是这个家伙的道具
   this.$refs.fileUploader.$el.firstChild