在淘汰模板绑定过程中,我需要检测何时处理每行中的第一个元素,因为它不应该有锚标记围绕它。
鉴于以下 js 用于淘汰赛...
function Model() {
var self = this;
self.gridData = ko.observableArray('{"GridData":[["Category foo","0","0"],["Category bar","0","0"]]}');
}
var model = new Model();
ko.applyBindings(model);
而这个模板...
<script type="text/html" id="template">
<table>
<tbody data-bind="foreach: gridData">
<tr data-bind="foreach: $data">
<td><a href="" data-bind="text: $data"></a></td>
</tr>
</tbody>
</table>
</script>
而这个html...
<div data-bind="template: { name: 'template' }"></div>
如果我们正在处理第一个元素,是否可以以某种方式使用“if”绑定?
另外,我发现了这个SO Post,但它并没有让我得到我想要的东西。
更新:
感谢您的两个答案。使用每个提供的信息,我能够为我的情况找到一个好的解决方案。我将模板更新为以下...
<script type="text/html" id="template">
<tbody data-bind="foreach: gridData">
<tr data-bind="foreach: $data">
<!-- ko if:($index()===0) -->
<td data-bind="text: $data"></td>
<!-- /ko -->
<!-- ko ifnot:($index()===0) -->
<td><a href="" data-bind="text: $data"></a></td>
<!-- /ko -->
</tr>
</tbody>
</script>