我有一個包含映射Json數據的可觀察數組。數據已按「性能」排序。將observablearray索引值添加到observablearray
我需要做的是給陣列添加一個排名,所以我的foreach
呈現編號的排名。到目前爲止,我一直在使用$ index,直到我使用排序和分頁擴展程序來更改數組索引。我是否認爲最好的方法是將每個索引值添加到數組中?
東西告訴我這應該很簡單,但我還沒有找到正確的方法。
viewModel.integerlists = ko.observableArray([]);
function IntegerLists(data) {
this.IntegerListID = data.IntegerListID;
this.Performance = data.Performance;
this.Direction = data.Direction;
this.Integers = ko.observableArray(data.Integers);
}
$.getJSON("/Home/GetIntegerLists", function (allData) {
var mappedIntegers = $.map(allData, function (item) { return new IntegerLists(item) });
viewModel.integerlists(mappedIntegers);
});
我有一個'索引'擴展名訂閱了observableArray,並通過更新每個索引一個好運。這個答案的第二部分:http://stackoverflow.com/questions/12229578/knockoutjs-access-index-of-item-in-array-from-within-the-javascript-template/12230148#12230148 –
謝謝RP - 這很有趣,但並不能真正解決我的問題。 http://jsfiddle.net/zGmcg/26/如果您點擊'分數'鏈接,評分順序會切換,但索引保持不變,因爲它應該如此。我不一定需要索引,我只需要根據分數對陣列成員進行排名。 – user1405195