コレクションをループするために仮想要素を使用したいのですが、コレクションがビューモデル内に存在する場合に限ります。私の最初の推測は、次のように仮想 foreach が続く場合に仮想を追加することです。
<!-- ko if: items -->
<!-- ko foreach: items -->
<span data-bind="text: $data"></span>
<!-- /ko -->
<!-- /ko -->
指定されたビュー モデルでは、コレクションが存在する場合、ビュー モデルは正しくバインドされます。しかし、何らかの理由で、そうでない場合、KnockoutJS はコレクションが定義されていないという例外をスローします。これは、foreach ステートメントを除外する場合を除いて理にかなっています。コレクションが存在しない場合、if ステートメントは例外として機能し、バインドしません。http://jsfiddle.net/danlister/qhL7e/でより良い例を挙げました。