У меня есть контроллер, который возвращает двухмерный массив объектов в виде json. Я звоню из моего javascript:
$.getJSON("/Game/GetBoard", function (json) {
data = json;
board = ko.mapping.fromJS({ board: data });
ko.applyBindings(board, $('.board')[0]);
});
У меня также есть следующий HTML-код:
<table>
<tbody data-bind="foreach: board">
<tr data-bind="foreach: $data">
<td data-bind="attr: { class: Color }"></td>
</tr>
</tbody>
</table>
Он генерирует красивую двумерную HTML-таблицу с красиво окрашенными ячейками (на основе класса, который получен из свойства Color). Как теперь я могу изменить этот цвет на что-то другое?
Я пытался: board[1][1]({Color: 'red'});
, но я получаю сообщение об ошибке о том, что доска [1] не существует ...
И еще один вопрос, как я могу добавить более одного класса к привязке? Я попробовал:
...
<td data-bind="attr: { class: Color + ' some-other-class' }"></td>
...
Но тогда я получаю:
class="function b() { if (0 < arguments.length) { if (!b.equalityComparer || !b.equalityComparer(d, arguments[0])) { b.H(), d = arguments[0], b.G(); } return this; } r.T.Ha(b); return d; } some-other-class"
Это ошибка или я что-то не так делаю?