可见绑定和动态css绑定
Visible binding and dynamic css binding
在本例中,Knockout按预期工作。我正在寻找一种替代方法来实现在每第二个项目上使用CSS类.last
动态地填充网格的目标。在某种程度上,我可能正在寻找一种不同的方法。
JSFiddle with description
我的问题说明在http://jsfiddle.net/96vdD/7/和这里描述:
三个people
穿过foreach
。向网格中添加3个div
。动态地,Knockout为每秒钟从foreach
输出的div
分配一个css类last
。
同时,每个people
的可见性属性决定了它是否会显示在网格中。
CSS将剥去网格中每个.last
div
的边距,以防止每个div
被移动到下一个"行"。CSS中常见的布局技术。
看看当您将Charles的可见性更改为true
并运行JSFiddle时会发生什么。
示例中的第二个人Charles没有显示在网格中(因为他的属性visible
被设置为false
)。然而,丹尼斯仍然被移到了下一行。Knockout为Charles添加了style="display:none"
,但也将class="last"
规则应用于他,而理想情况下,我希望Denise收到class="last"
,因为从视觉上看,她是网格中的第二个people
。
在应用class="last"
规则时,我如何让Knockout忽略!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/
相关文章:
- css绑定中的自定义类名
- Knockout.js在标头中绑定css/js库
- 将列表的css列计数属性相应地绑定到引导网格类
- 使用敲除绑定到css类
- 如何通过 KNOCKOUT 中的数据绑定值更改 css 中规则的值
- 在foreach中敲除动态css绑定
- 绑定到特定的 CSS 过渡
- 通过CSS绑定、敲除.js组合动态和静态类
- 敲除类的动态表达式值 - CSS 绑定
- 敲除.js布尔虚拟元素与 CSS 绑定性能
- 绑定数据列表后,将 css 样式重新应用于视图的一部分
- AngularJS通过ng-click绑定CSS值.值位于控制器中的对象中
- Knockout中的CSS绑定,用于绑定两个类,其中一个是动态的,另一个是静态的并经过评估的
- 如何在具有现有点击绑定的表头上切换css类
- 当html内容包含使用css加载的图像时,ng绑定html不起作用
- 取消验证,选择绑定,不添加erroelement .css
- 聚合物1.0:绑定css类不更新
- 用属性绑定CSS类
- 为什么我不能从IE 7-8的css类中绑定一个点击事件?
- 如何在元素之间绑定css属性