3

私がこれを試してみると:

<!-- ko foreach: data.cards -->
<div>
   SHOULD SEE MULTIPLE TIMES BUT ONLY SEE ONCE
</div>
<!-- /ko -->

データのない div を 1 つだけ取得します。私がこれを行う場合:

<div data-bind="foreach: data.cards">
   THIS IS SEEN MULTIPLE TIMES
</div>

期待どおりに機能します-データを含む複数のdiv。最初のアプローチが機能しないのはなぜですか? 別のページでは、この構造が正常に機能するため、特に奇妙です。

クロムの時計コンソールに表示されるものは次のとおりです。

ここに画像の説明を入力

そして、ここに私がビューに戻っている vm があります:

var vm = {
    activate: activate,
    data: observableData,
    refresh: refresh,
};

私が変更する唯一のことは、 foreach を div からコメントに移動することであり、機能しなくなります。

更新:<!-- /ko -->終了タグを削除しても、エラーは発生しませんCannot find closing comment tag to match。ブラウザはコメント タグをまったく認識していません :/

4

1 に答える 1

1

応答を圧縮してコメントを削除したため、プロジェクトでも同じ問題が発生しました。foreach に<div>orを使用しないようにするための 1 つの回避策は、独自の要素を定義することです。これを行う場合、IE8 以下のサポートのために次のスクリプトを含める必要があります。<span><ko>

<!--[if lt IE 9]> 
 <script> 
    document.createElement("ko");
 </script>
<![endif]-->
于 2013-06-12T14:54:58.333 に答える