原因:
在Vue中,$refs
是用来访问模板中的DOM元素或子组件实例的一个属性。如果你在使用 v-for
渲染列表时,并且试图通过 $refs
获取列表中的某个项的引用,但是如果在 v-for
循环完成之前尝试访问这些引用,那么可能会遇到这个错误。
解决方式:
调用this.$nextTick(),在方法体内再次加载所需要得方法。
示例:
console.log(this.$refs.testRef) ---打印为undefined // 此时,v-for循环应该已经完成,所有的子组件和DOM节点也应该被渲染和挂载 this.$nextTick(() => { console.log(this.$refs.testRef) ---打印为Object this.$refs.testRef.forEach((item,index) => { //方法体内容 }); });