如果我这样做:
data-bind="attr: {'id': $index}"
比ID为0,1,2 ......但如果我这样做:
data-bind="attr: {'id': $index>0 ? 'choice'+$index : 'choice'}"
是Knockout v3.4.2
答案 0 :(得分:2)
$index
实际上是一个可观察的。在一个简单的绑定中,knockout会自动处理它。在更复杂的表达式中,它不需要手动调用它:
data-bind="attr: {'id': $index()>0 ? 'choice'+$index() : 'choice'}"
它们最终只有'choice'
,因为$index>0
将始终评估为false
,因为它将$index
可观察函数的文本表示与0进行比较。函数以f
开头,"f" > 0
为false
。