vue $refs 动态拼接获取值

div是循环 所以img 的ref是动态设置的 要获取对应点击的

 <div class="unionLiveDiv" v-for="(item,index) in cityLivelist" :key='index' >
        <div class="unionLiveImg">
          <input type="file" v-if='item.redact' @change='filePush1(cityLivelist,index,"img"+index)'/>
          <img :src='$store.state.imgSrc+item.cityLiveImg' v-if='item.cityLiveImg' :ref="'img'+index"/>
          
        div>
     div>

//这里动态传值获取不到

filePush1(list,index,img){
	console.log(this.$refs.img)
	//这样写会拿不到 img  是个动态值  这会直接已img为值去获取  拿到的是undefined
}

要遍历循环 就可以获取到值

filePush1(list,index,img){
	let that=this
	let refs=that.$refs
	for(let key in refs){
          console.log(refs[img])
          //这里遍历循环所有的 refs值 就可以拿到动态拼接$refs所要的对应值 这的img  是动态传的值  
       }
}

你可能感兴趣的:(vue,vue)