KnockoutJS: Verwenden von geschachtelten bedingten Anweisungen if für virtuelle Elemente

Ich bin zu wollen Einsatz virtueller Elemente, um eine Schleife durch eine Sammlung aber nur, wenn die Sammlung besteht innerhalb der view-Modell. Meine ursprüngliche Vermutung wäre so fügen Sie einer virtuellen, wenn darauf eine virtuelle foreach-wie folgt:

<!-- ko if: items -->
    <!-- ko foreach: items -->
        <span data-bind="text: $data"></span>
    <!-- /ko -->
<!-- /ko -->

Mit der angegebenen view-Modell, meiner Ansicht Modell richtig bindet, wenn die Sammlung existiert. Aber aus irgendeinem Grund, wenn es nicht, KnockoutJS wirft eine Ausnahme, die sagen, dass meine Sammlung ist nicht definiert. Dies macht Sinn, außer wenn ich die foreach-Anweisung aus. Die if-Anweisung arbeitet dann als vorbehalten und nicht bindet, wenn die Sammlung nicht vorhanden. Ich habe da ein besseres Beispiel an http://jsfiddle.net/danlister/qhL7e/.

InformationsquelleAutor Dan Lister | 2012-09-07
Schreibe einen Kommentar