Chciałbym renderować dynamicznie wierszy i kolumn przy użyciu nokautu. Chodzi o to, że chciałbym wypełnić każdy wiersz niektórymi komórkami iw razie potrzeby dynamicznie dodać więcej wierszy. pozwala przypuszczać, że liczba totall komórek równa numer 4 * wierszy, potem próbowałem:Jak renderować tr warunkowo w knockout.js foreach wiążące
<table>
<tbody data-bind="foreach: model">
<!--ko if: $index() % 4 == 0--><tr><!--/ko-->
<td>
<label data-bind="text: Value"></label>
</td>
<td>
<input type="checkbox" data-bind="checked: IsChecked"/>
</td>
<!--ko if: $index() % 4 == 0--></tr><!--/ko-->
</tbody>
</table>
ale działa tak jak to było:
<table>
<tbody data-bind="foreach: model">
<!--ko if: $index() % 4 == 0-->
<td>
<label data-bind="text: Value"></label>
</td>
<td>
<input type="checkbox" data-bind="checked: IsChecked"/>
</td>
</tr><!--/ko-->
</tbody>
</table>
przez nie czyniąc cały rząd z treści, to jest możliwe z nokautem do renderowania wszystkich komórek i dodawania wierszy tylko w razie potrzeby?
Jako obejście, myślę o zagnieżdżonym foreach, ale wymagałoby to zmiany mojego modelu z jedno-wymiarowego na dwuwymiarowy, co wydaje się dziwne.
Czy na pewno chcesz użyć tabeli HTML dla tego? Jeśli masz płaską listę pozycji, ponieważ Twoje dane nie mogą po prostu renderować ich jako elementów div i używać CSS, aby przepływały naturalnie wewnątrz kontenera, 4 w poprzek? –
Tak, to dane tabelaryczne i tabele służą do wyświetlania danych tabelarycznych za pomocą elementu div byłoby obejściem, a nie rozwiązaniem – 0lukasz0