3

如果我以正确的方式执行此操作,那么在淘汰赛方面更有知识的人可以告诉我吗?

我正在尝试在 foreach 指令中交替添加左浮动和右浮动类 - 这是我的绑定。我离题了吗?有更好的方法吗?

<a data-bind="css:{'pull-left':$index()%2 == 0,'pull-right':$index()%2 == 1}, attr:{href:$data.url}">

爱淘汰赛 - 顺便说一句

非常感谢任何帮助。

4

1 回答 1

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/

如果你想使用引导程序的类,那么你可以这样做:http: //jsfiddle.net/rniemeyer/VdLNQ/。他们只是左右浮动,所以任何一种方式都应该没问题。

于 2012-10-09T14:07:21.540 回答