在淘汰模板綁定過程中,我需要檢測何時處理每行中的第一個元素,因爲它不應該包含它的錨標記。使用敲除來確定foreach中的第一個元素
鑑於淘汰賽以下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>
和這個網站...
<div data-bind="template: { name: 'template' }"></div>
可以在「如果'綁定以某種方式使用,如果我們正在處理第一個元素,則運行正確?
此外,我發現這SO Post,但它並沒有得到我相當我所期待的。
UPDATE:
感謝兩個答案。使用每個提供的信息,我能夠找到一個適合我的情況的好辦法。我我的模板更新到下面...
<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>