[英]Visible binding and dynamic css binding
在此示例中,淘汰赛按预期进行。 我正在寻找一种替代方法,以实现每隔第二个项目具有CSS类.last
动态填充网格的目标。 在某种程度上,我可能正在寻找一种不同的方法。
我的问题在http://jsfiddle.net/96vdD/7/上进行了说明,并在此处进行了描述:
三people
穿过foreach
。 将三个div
添加到网格。 动态地,Knockout为从foreach
出来的第二个div
分配last
的css类。
同时,每个people
的可见性属性决定是否将其显示在网格中。
CSS将.last
网格中每个.last
div
的边距,以防止第二个div
移至下一个“行”。 CSS中的常见布局技术。
看看将Charles的可见性更改为true
并运行JSFiddle时会发生什么。
该示例中的第二个人Charles没有显示在网格中(因为他的visible
属性设置为false
)。 但是,Denise仍移至下一行。 淘汰赛为Charles添加了style="display:none"
,但也向他应用了class="last"
规则,而理想情况下,我希望Denise收到class="last"
因为她在视觉上是网格中的第二people
。
应用class="last"
规则时,如何让淘汰赛忽略!visible
元素?
您可以创建仅可见人物的计算数组:
self.visiblePeople = ko.computed(function() {
return ko.utils.arrayFilter(self.people(), function(person) {
return person.visible;
});
});
然后在您的html中将其绑定:
<div class="wrapper" data-bind="foreach: visiblePeople">
小提琴-http: //jsfiddle.net/96vdD/8/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.