只需使用條件運算符中td
數據綁定和顯示或空字符串或指數:
<table data-bind="foreach: people">
<tr>
<td data-bind="text: isresting ? '' : $index() + 1"></td>
<td data-bind="text: name"></td>
<td data-bind="text: isresting"></td>
</tr>
</table>
Demo
更新
我已經更新我的實現,並增加了一個正確計算指標的功能:
Html :
<table data-bind="foreach: people">
<tr>
<td data-bind="text: $parent.getIndexForMan($data)"></td>
<td data-bind="text: name"></td>
<td data-bind="text: isresting"></td>
</tr>
</table>
視圖模型:
function ViewModel() {
var self = this;
self.people = ko.observableArray();
self.getIndexForMan = function(man) {
if (man.isresting) {
return null;
}
var index = 1;
var rawPeople = self.people();
for (var i = 0; i < rawPeople.length; i++) {
if (rawPeople[i] == man) {
break;
}
if (!rawPeople[i].isresting) {
index++;
}
}
return index;
}
};
var model = new ViewModel();
model.people(data);
ko.applyBindings(model);
Demo2
太棒了。您的更新版本效果很好 – rwisch45