Поскольку у вас есть концепция ряда плиток, в ваших данных должны быть строки плиток.Тогда это просто перебрать их в вашем шаблоне.
Ваша инициализация может быть
for (let y = 0; y < height; y++) {
vm.tiles.push([]);
for (let x = 0; x < width; x++) {
// Vue tile component handles reactivity here:
vm.tiles[y].push({
id: id,
ttype: Math.round(Math.random() * 6) // random tile
});
id++;
}
}
, и ваш шаблон будет иметь что-то вроде
<div v-for="row in tiles">
<truchet-tile v-for="tile in row" v-bind:key="tile.id" :id="tile.id" :ttype="tile.ttype">
</truchet-tile>
</div>
Обновленная скрипка