Kommentar foreach Bindung vs foreach Bindung in knockoutjs
In meinem HTML kann ich diese definieren knockout foreach bindings:
<!-- ko foreach: customer -->
<div data-bind="text: id" />
<!-- /ko -->
vs
<div data-bind="foreach: customer">
<div data-bind="text: id" />
</div>
Wo sind die Unterschiede zwischen diesen beiden Ansätzen?
InformationsquelleAutor der Frage Elisabeth | 2013-06-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Native verbindlich, wenn eine Eltern-Kind-Beziehung besteht in der Bindung", wie ein ul und ein li.
Nutzen Sie die Kommentar-syntax für containerless verbindlich, wenn Ihre "Bindung" nicht in einer parent-child-Beziehung.
In Ihrem Beispiel verwenden Sie den ersten code-block, weil Sie nicht versuchen, die Bindung zu Eltern-Kind-Struktur. Alles, was Sie tun möchten ist, nur binden Sie Ihre Kunden-Daten an ein div, Sie sollten sich nicht zum erstellen einer übergeordneten div-Element und
foreach
durch den Kunden und fügen ein weiteres div innerhalb des übergeordneten div. Es ist mehr als Sie wollen zu tun.Gut nutzen containerless Bindung
Allerdings, wenn Sie haben eine geordnete Liste sollten Sie die native Bindungweil es einfach Sinn macht.
Native
Containerless
Zweiten Beispiel sieht einfach albern. Sie sind das hinzufügen mehr Komplexität für etwas, das sollte nicht kompliziert sein.
InformationsquelleAutor der Antwort David East
In einigen Fällen, möchten Sie vielleicht, um eine Kopie eines Abschnitts der markup, aber Sie haben noch keine container-element für eine foreach-binding
Um dies zu umgehen, können Sie die containerless control-flow-syntax, basiert auf den Kommentar-tags
Modus details auf Die "foreach" - Bindung, Hinweis 4: foreach zu Verwenden, ohne ein container-element
InformationsquelleAutor der Antwort Claudio Redi