我目前正在使用 KnockoutJS 2.1.0 以以下形式显示一些带有虚拟标签的数据:
<!-- 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 元素?