2
我有一個控制器,返回對象的二維數組作爲json。透過我的javascript調用:Knockout.js,如何更改映射的二維數組的值?
我也有以下的html:
<table>
<tbody data-bind="foreach: board">
<tr data-bind="foreach: $data">
<td data-bind="attr: { class: Color }"></td>
</tr>
</tbody>
</table>
它產生與漂亮的彩色細胞一個不錯的二維HTML表格(基於對來自一個類顏色屬性)。我現在如何改變這種顏色到別的東西?
我想: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"
它是一個錯誤還是我做錯了什麼?
謝謝,這幫了我很多。我是新來的淘汰賽,仍然犯這些愚蠢的錯誤......我仍然不明白爲什麼''td data-bind =「attr:{class:Color}」>'工作。你能解釋一下嗎? – 2012-02-26 10:51:38
所有的綁定都會檢查它們是否通過了observable並嘗試解包它。但是,如果使用表達式('Color()+'某個其他類),則在進入綁定之前對其進行評估。 – 2012-02-26 17:57:40