KnockoutJS DRY if语句

时间:2012-09-04 09:18:37

标签: if-statement knockout.js dry

使用knockout.js我现在遇到过几次这个问题。对于只改变行中单个属性的简单if语句,我似乎正在做很多重复。

<!-- ko foreach: $data.content -->
    <!-- ko if: $index() === 0 -->
        <div class='tab-pane active'>
    <!-- /ko -->
    <!-- ko if: $index() !== 0 -->
        <div class='tab-pane'>
    <!-- /ko -->
<!-- /ko -->

这个例子是一个简单的演示,但问题出现在更复杂的行中,这显然使它非常容易出错。

knockout是否提供任何类型的内联 if 语句,是否还有其他方法可以解决此代码重复问题?

1 个答案:

答案 0 :(得分:1)

您可以使用css绑定来添加css类:

<!-- ko foreach: $data.content -->
   <div class='tab-pane' data-bind="css: {active: $index() === 0 } "></div>
<!-- /ko -->