Эй, я пытаюсь построить эту маленькую игру, в которой массив с 6 подмассивами, каждый из которых содержит 7 значений, создает шахматное поле.
Когда вы щелкаете одно из полей, оно должно изменить цвет с белого на красный или с белого на желтый. Атрибут цвета зависит от того, какое значение записано в массиве данных (работает с привязкой css внутри вложенного тега div).
Массив «данные» (построенный как матрица) выглядит следующим образом: [[0,0,1,2,0,2,1], [0,0,0,0,2,2 , 1] и т. Д.]
В HTML я использовал «forEach» l oop, чтобы привязать значения массивов к тегам div и создать шахматное поле - всего 42 поля ( 6 * 7 = 42).
<body>
<div class="playground">
<div class="score">
<div id="p1" style="flex: 2;"></div>
<div class="void" style="flex: 3;"></div>
<div id="p2" style="flex:2"></div>
</div>
<div class="container1" data-bind="foreach: data.matrix">
<div class="container2" data-bind="foreach: $data">
<div class="blocks">
<div data-bind="css: {corny: $data >= '0', white: $data === '0', yellow1: $data === '1', red2: $data === '2'},
attr: { 'id': $parentContext.$index() + '_' + $index()},
click: $root.chipInserted">
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Теперь у меня есть шахматное поле, и когда я изменяю значение в «data» перед запуском скрипта, цвет устанавливается соответственно. Когда я щелкаю поле, значение массива также изменяется, а цвет тега div - нет. Как мне это сделать?