2015-10-20 41 views
1

我有以下格式的對象數組,名稱,狀態和Cells.Cells保持背景顏色。嘗試使用knockout.js數據綁定對象數組到表

Result = 
    { 
    "Name" : "Check", 
    "Status" : 0, 
    "Cells" : [#A9A9F5,#8181F7,#8258FA,#8258FA,#8258FA] , 

    "Name" : "Test", 
    "Status" : 1, 
    "Cells" : [#8181F7,#8258FA,#8181F7,#8258FA,#8258FA] 
} 

我使用敲除來綁定它們並在表中顯示結果。我期望的輸出將是在表中得到以下結果。單元格顏色將成爲單元格的背景顏色。

Check|0|[Cell Color1]|[Cell Color2]|[Cell Color3]|[Cell Color4]|[Cell Color5] 
    Test|1|[Cell Color1]|[Cell Color2]|[Cell Color3]|[Cell Color4]|[Cell Color5] 

我有什麼到目前爲止

  <table border="1"> 
      <tbody data-bind="foreach: Result"> 
       <tr> 
        <td data-bind="text: Name"></td> 
        <td data-bind="text: Status"></td> 
        <td data-bind="foreach: Cells"> 
        <td data-bind="style: {'background-color':Cells}"></td></td> 

       </tr> 
      </tbody> 

     </table> 

我得到以下結果與相應的背景顏色

Check|0| 
Test|1| 

而不是細胞。我如何訪問「單元格」內的對象並讓它們使用相應的背景顏色生成它自己的單元格?謝謝

+1

''​​裏面''​​那不是一有效的情況下,你可以嘗試在foreach中使用'$ data'來代替'cells' –

回答

2

您可以通過$ data變量訪問foreach綁定的當前迭代。 還您可能要更換

<td data-bind="foreach: Cells"> 

<!-- ko foreach: Cells --> 
<td data-bind="style:{'background-color':$data}></td> 
<!-- /ko --> 

因爲@super在評論酷注意 - 內TD TD無效