Если не обращать внимание на разметку, у вас в шаблоне должно быть что-то вида:
<template v-for="cell in cells">
<cell :color="cell.color" @click="changeAround(cell)"></cell>
</template>
changeAround(cell) {
// change cells color шт cells by using input cell
}
Смысл такой:
У вас есть массив клеток cells.
У вас есть компонент клетки и входной параметр у него - цвет.
При клике на cell вызывается обработчик, который вычисляет на основании данных клетки(порядковый номер, позиция) соседние клетки у которых нужно изменить цвет. Далее реактивно обновляется шаблон.