一个使用$refs需要注意的问题
电脑版发表于:2021/8/23 14:45
一、问题的提出
在vue文件中给一个组件设置了ref属性,目的是后续代码中能够触发该组件上的一些自带方法:
<q-uploader :url="url" ref="attachuploader" />
这样在后续代码中就可以触发这个组件的自带方法,如:
this.$refs.attachuploader.reset();
但始终无法执行以上方法,说reset不是一个合法的函数(TypeError: this.$refs.attachuploader.reset is not a function).....
很郁闷,在其他vue中有过以上用法,而且都是成功的,为什么这个vue始终就不对呢?
二、解决办法
“砖家”说遇到问题要查文档,于是翻出ref的说明文档,当看到其中这句话时“当v-for用于元素或组件的时候,引用信息将是包含.....”,立马恍然大悟:我把上传组件放在了v-for中!!!
立马把组件q-uploader挪到v-for的外面,然后一切就OK了。
来源
作者:工程师54
链接:https://www.jianshu.com/p/59924cf44194
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。