2017-09-05 4 views
0

Knockout.js를 사용하여 클릭 이벤트에 대한 바인딩이있는 항목의 목록이 있습니다.다시 녹아웃 클릭 이벤트

<a data-bind="attr: { title: 'Edit ' + ContactName() }, click: $parent.preEditContact" title="Edit Contact"></a> 

이 기능은 완벽하게 작동합니다. 문제는 knockout 목록을 알파벳 순서로 정렬하는 정렬 함수라고 부르는 새 레코드를 녹아웃 목록에 추가 할 때 발생합니다.

정렬 기능은 목록을 정렬하고 목록을 비운 다음 재정렬 목록을 추가합니다. 이 작업이 완료

는 녹아웃 항목

parent.preEditContact가 어떻게 클릭 이벤트를 바인딩 바인딩은 자신의 클릭을 잃게?

답변

0

임시 변통 코드를 사용하는 대신 클릭 바인딩을 유지하는 Knockout.js와 함께 사용할 수있는 정렬 함수가 실제로 있습니다.

클릭 바인딩을 유지하는 동안 다음과 같은 목록을 정렬하는 데 사용되는 코드 :

self.Contacts.sort(function(a,b){ 
var a1 = a.ContactName().toLowerCase(); 
var b1 = b.ContactName().toLowerCase(); 
return a1.localeCompare(b1); 

을});

+0

당신은 사람들이 아직 미리보기 페이지에서 해결되지 않았다고 생각하지 않도록 답변을 수락 할 수 있습니다 ... – Ray

+0

그것은 적어도 다른 하루 동안 정답으로 내 대답을 표시 할 수 없다고 말합니다. –