在淘汰赛中有更多知识渊博的人能告诉我,我是否以正确的方式这样做?
我试图在foreach指令中交替添加float left和float right类 - 这是我的绑定。 我离开马克了吗?有更好的方法吗?
<a data-bind="css:{'pull-left':$index()%2 == 0,'pull-right':$index()%2 == 1}, attr:{href:$data.url}">
爱淘汰赛 - 顺便说一下
任何帮助都非常感激。
答案 0 :(得分:4)
你这样做的方式会起作用。如果您想要一种更简洁的方法,那么您可以在视图模型上创建一个返回正确值的计算observable,或者更好的是为您处理此逻辑的自定义绑定。
自定义绑定的示例,您可以将要用作索引的内容传递给:
ko.bindingHandlers.float = {
init: function(element, valueAccessor, allBindings, data, context) {
var index, floatValue;
index = valueAccessor();
floatValue = ko.computed(function() {
var left = ko.utils.unwrapObservable(index) % 2 === 0;
return left ? "left" : "right";
});
ko.applyBindingsToNode(element, {
style: {
cssFloat: floatValue
}
});
}
};
以下是一个示例:http://jsfiddle.net/rniemeyer/B8YHc/
如果你想使用bootstrap的类,那么你可以这样做:http://jsfiddle.net/rniemeyer/VdLNQ/。他们只是向左/向右浮动,所以无论哪种方式都应该没问题。