我有一个使用Knockout.js绑定到click事件的项目列表。
<a data-bind="attr: { title: 'Edit ' + ContactName() }, click: $parent.preEditContact" title="Edit Contact"></a>
此功能完美无缺。当我向淘汰列表添加新记录时出现问题我称之为排序函数,按字母顺序对淘汰列表进行排序。
sort函数对列表进行排序,将其清空,然后附加重新排序的列表。
完成此操作后,淘汰赛项目会失去他们的点击装订parent.preEditContact
如何重新绑定点击事件?
答案 0 :(得分:0)
而不是使用我的临时排序代码,Knockout.js实际上有一些保留点击绑定的排序函数。
用于在保留点击绑定的同时对列表进行排序的代码如下:
self.Contacts.sort(function(a,b){
var a1 = a.ContactName().toLowerCase();
var b1 = b.ContactName().toLowerCase();
return a1.localeCompare(b1);
});