オブジェクトの2次元配列を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>
これは、(Colorプロパティからのクラスに基づいて)きれいに色付けされたセルを持つ素敵な2次元のhtmlテーブルを生成します。この色を別の色に変更するにはどうすればよいですか?
試しboard[1][1]({Color: 'red'});
ましたが、board[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"
それはバグですか、それとも私は何か間違ったことをしていますか?