<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.log(this.$refs['modal' + id]);
console.log(this.$refs[index].showModal);
}
Я перебираю компонент через v-for и даю динамическую ссылку на каждый элемент. При нажатии кнопки я вызываю функцию, возвращающую правильную ссылку, если я делаю console.log (это. $ Refs [index]), однако, когда я пытаюсь вызвать метод, выполните: console.log(this. $ Refs [ index].showModal), который в этом случае showModal является методом в дочернем компоненте, он возвращает undefined.
Я решил эту проблему, выполнив: this. $ Refs [index] [0].showModal();
<modal v-for="(data,key) in passedInData" :key="data.id" ref="modal">
, а затем доступ к немуthis.$refs.model[index]