<modal v-for = "(data,key) in passedInData" :key = "data.id" :ref = "'modal' + key">
<img src = "~/assets/images/lock.svg" @click = "openModal(key)" style = "cursor:pointer" >
openModal: function(id) {
let modal = this.$refs['modal' + id];
let index = 'modal' + id;
console.info(this.$refs['modal' + id]);
console.info(this.$refs[index].showModal);
}
Я просматриваю компонент, используя v-for, и даю динамическую ссылку на каждый элемент. При нажатии кнопки я вызываю функцию, которая возвращает правильную ссылку, если я делаю console.info (this. $ Refs [index]), однако когда я пытаюсь вызвать метод, выполнив: console.info (this. $ Refs [ index] .showModal), который в данном случае showModal является методом дочернего компонента, он возвращает значение undefined.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я решил эту проблему, выполнив: это. $ refs [индекс] [0] .showModal ();
использует
<modal v-for = "(data,key) in passedInData" :key = "data.id" ref = "modal">, затем доступ черезthis.$refs.model[index]