答案 0 :(得分:0)
我会尝试在加载数据和映射到视图模型结构时对它们进行排序。
例如,您可以在此处为每个联系人排序电话:
self.contacts = ko.observableArray(ko.utils.arrayMap(contacts, function(contact) {
contact.phones.sort(function(a, b) {
return a.type > b.type ? 1 : -1;
});
return {
firstName: contact.firstName,
lastName: contact.lastName,
phones: ko.observableArray(contact.phones)
};
}));
答案 1 :(得分:0)
根据RP的回答延伸:
您可以将事件处理程序附加到type
输入,以便在phone
更改时移动type
对象。我使用线性搜索,但随意实现二进制搜索。