Ответ 1
Используйте встроенное связывание, когда отношения между родителями и дочерними элементами существуют в секции привязки, такие как ul и li.
Используйте синтаксис комментария для привязки к контейнеру, если раздел привязки не имеет отношения родитель-потомок.
В вашем примере вы используете первый блок кода, потому что вы не пытаетесь связать его с дочерней структурой. Все, что вы хотите сделать, это просто привязать данные вашего клиента к div, вам не нужно создавать родительский div и foreach
через клиентов и добавлять другой div внутри родительского div. Это больше, чем вы хотите.
Хорошее использование безмасляной привязки
<!-- ko foreach: customer -->
<section>
<p data-bind="text: customer.name"></p>
<p data-bind="text: customer.orderDate"></p>
</section>
<!-- /ko -->
Однако, если у вас есть упорядоченный список, вы должны использовать собственную привязку, потому что это имеет смысл.
Native
<ol data-bind="foreach: customer">
<li data-bind="text: customer.name"></li>
</ol>
Containerless
<ol>
<!-- ko foreach: customer -->
<li data-bind="text: customer.name"></li>
<!-- /ko -->
</ol>
Второй пример выглядит глупо. Вы добавляете больше сложности для чего-то, что не должно быть сложным.