現在、KnockoutJS 2.1.0 を使用して、仮想タグ foreach を持つデータを次の形式で表示しています。
<!-- ko foreach:filteredCertificates-->
<div>
<span data-bind="html:titel">TITEL</span>
<span data-bind="html:name">NAME</span>
<span data-bind="html:vorname">VORNAME</span>
</div>
<!-- /ko -->
次filteredCertificates
のようになります。
self.filteredCertificates = ko.computed(function() {
return ko.utils.arrayFilter(self.certifiedEntries(), function(certificate) {
return certificate.isDeutsch;
});
}
この関数は、どのブラウザーでもエラーを起こしません。
ご覧のとおり、配列を返す関数ですfilteredCertificates
。ko.computed()
すべての主要なブラウザーでは完全に機能しますが、IE8 (驚き) では、バインドされたデータではなく、生のコンテンツのみで余分な行が追加されます。たとえば、最後の raw には、実際には値として "TITLE"、"NAME"、および "VORNAME" があります。空のフィールドのままにしておくこともできますが、その内容が空の場合でも行が追加されます。
仮想タグを使用するのが本当に好きです。foreach をラップする dom 要素を使用せずにこれを修正する方法はありますか?