Я изучал учебные пособия learn.knockout.js и экспериментировал. Может кто-нибудь объяснить, почему это работает [ Учебное пособие: одностраничные приложения, шаг 2 ] (с использованием with: chosenFolderData
и foreach: mails
):
<!-- Mails grid -->
<table class="mails" data-bind="with: chosenFolderData">
<thead><tr><th>From</th><th>To</th><th>Subject</th><th>Date</th></tr></thead>
<tbody data-bind="foreach: mails">
<tr>
<td data-bind="text: from"></td>
<td data-bind="text: to"></td>
<td data-bind="text: subject"></td>
<td data-bind="text: date"></td>
</tr>
</tbody>
</table>
, но не это (используя только foreach: chosenFolderData.mails
):
<!-- Mails grid -->
<table class="mails">
<thead><tr><th>From</th><th>To</th><th>Subject</th><th>Date</th></tr></thead>
<tbody data-bind="foreach: chosenFolderData.mails">
<tr>
<td data-bind="text: from"></td>
<td data-bind="text: to"></td>
<td data-bind="text: subject"></td>
<td data-bind="text: date"></td>
</tr>
</tbody>
</table>
Я подозреваю это потому, что в то время как chosenFolderData
является наблюдаемым, chosenFolderData.mails
нет. Кто-нибудь может сказать мне наверняка?
Большое спасибо!
- Ральф