If statement KnockoutJS-DRY-if语句

If statement KnockoutJS-DRY-if语句,if-statement,knockout.js,dry,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 -->

使用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 -->

这个示例是一个简单的演示,但问题发生在更复杂的行中,这显然使它非常容易受到bug的影响

knockout是否提供任何类型的内联if语句,当然,还有其他方法可以避免这种代码重复吗?

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

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

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

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