Я бы хотел сделать v-for l oop для создания div. Я занимаюсь игрой в сапера, и вот мой код:
<div class="grid">
<div class="square"
v-for="(square, index) in squares"
:id="index"
:key="index"
:class="squares[index]"
@click="clicked(square, index)"
>
</div>
</div>
«Квадраты» в этом коде - это массив с перемешанными классами «бомба» или «пустой». Я знаю, что это неправильно, потому что после того, как я нажимаю на случайный квадрат, я получаю только этот класс из массива квадратов. Что должно быть вместо этого массива 'squares' в v-for. Хочу разобраться с классами, атрибутами и т.д. c. потому что позже мне придется использовать 'classList' 'contains' et c.
Извините, может быть, я совершенно не прав и говорю чушь, но я начал с vue 3 недели go.
Вот выбранный мной метод, который я хочу использовать
clicked(square) {
if(this.isGameOver) return;
if(square.classList.contains('chechked') || square.classList.contains('flag')) return
if(square.classList.contains('bomb')) {
this.gameOver(square);
} else {
let total = square.getAttribute('data');
if(total != 0) {
square.classList.add('checked');
square.innerHTML = total;
return
}
}
square.classList.add('checked');
}