vue--for循环中使用子组件,ref应该如果调用
首先,先写一个错误示例,看是否跟你的写法一样
错误示例
使用动态ref,拼接循环序号index
<div v-for="(item,index) in presetsData"><real-video :ref="'realVideo'+index"></real-video></div>//函数中使用动态拼接的ref调用
this.$refs['realVideo'+index].getWsUrl();
这种写法会导致控制台报错
vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in nextTick:
"TypeError: Cannot read property 'getWsUrl' of undefined"found in
---> ******
正确写法
ref值重复也可以调用,在调用时加下标 如: this.$refs[xxx][0]
<div v-for="(item,index) in presetsData"><real-video ref="realVideo"></real-video></div>//函数中使用加下标的ref调用
this.$refs['realVideo'][index].getWsUrl();