关键点
1. 使用 :ref="`record${i}`" (或者 :ref="'record'+i"),为每一项动态添加 ref;
2. 使用 this.$refs[`record${
i}`] 获取当前元素 dom 结构
完整代码
<template>
<div class="wrap">
<div v-for="(item,i) in testArr" :key="item.id" :ref="`record${i}`" :id="'record'+i"
@click="changeStyle(i)">
{
{
item.name}}
</div>
</div>
</template>
<script>
export default {
data() {
return {
testArr:[
{
id:'1',
name:'张三',
},{
id:'2',
name:'李四',
},{
id:'3',
name:'王五',
}
]
}
},
methods: {
changeStyle(i){
this.$refs[`record${
i}`][0].style.color = 'red';
}
},
mounted(){
document.getElementById('record2').style.color = 'green';
}
}
</script>
DOM 结构