2013-06-27 4 views
6

knockout.js 정렬 가능한 플러그인으로 작업하고 있습니다. 그러나 지금까지 해결할 수 없었던 문제가 발생했습니다. 버킷 용과 버킷 용 두 가지 정렬 가능한 바인딩이 있습니다. 버킷 사이에 bucketItems를 재정렬 할 수 있습니다. 그러나 나는 버킷을 재정렬 할 수 없다. 왜 이것이 될지 아시겠습니까? 나는 또한 중첩 바인딩을 사용하고 있지만, 내가 말할 수있는 한, 이것은 문제를 일으키는 것이 아니다.Knockout.js 중첩 정렬 가능 바인딩

나는 당신이 제공해야 할 통찰력을 매우 고맙게 생각합니다.

+0

게시하시기 바랍니다 코드 및 특정 이유로 인해 –

+0

플러그인을 사용하고 있습니다. 내 코드를 게시 할 수 없습니다. 그러나, 나는 나의 문제의 범위를 좁힐 수 있었다. 나는 bucketIds의 배열을 가지고 있는데, sortable을 적용하면 제대로 바인딩되지 않습니다. 불행히도, 나는 아직도 그것이 묶이지 않을 이유를 모른다. (knockout.js-sortable plugin을 ryan neimeyer 님이 작성했습니다.) – user2391998

답변

8

정확한 구조를 모르지만 connectClass 옵션을 사용하여 어떤 정렬 가능한 목록이 연결되어 있는지 제어 할 수 있습니다. 예를 들어 다음과 같이 설정 한 경우 :

<ul data-bind="sortable: { data: buckets, connectClass: 'buckets' }"> 
    <li> 
     <span data-bind="text: name"></span> 
     <ul data-bind="sortable: { data: items, connectClass: 'items' }"> 
      <li data-bind="text: name"></li> 
     </ul> 
    </li> 
</ul> 

버킷 내에서 버킷을 버리고 항목 내에있는 항목 만 드롭 할 수 있습니다. 플러그인은 클래스를 부모 요소에 자동으로 추가합니다. 당신이 버킷 사이의 항목을 정렬 할 수 싶지 않은 경우 http://jsfiddle.net/rniemeyer/YaLgL/

, 당신은 적용 할 수있는 각 등에 고유 connectClass : 여기

는 샘플입니다

http://jsfiddle.net/rniemeyer/czNe8/

+0

항목을 정렬 가능하게하고 나머지는 표시하지 않으려면 어떻게 작동합니까? 항목을 재정렬 할 수는 없지만 이것을 사용해 보았습니다. 시도했을 때 전체 상위 UL이 이동 했으므로 차례로 UL의 상위 LI를 재정렬했습니다 (그 이상 함). – Phil

+0

@ Phil- 당신은 어쩌면 jsFiddle에서하려고하는 것을 몇 가지 노트와 함께 넣을 수 있습니까? 가능성을 높일 수있는 방법이있을 수 있지만, 내가 당신의 시나리오에 있다고 확신하지는 않습니다. 감사! –

+0

나는 바이올린을 추가했습니다 : http : //jsfiddle.net/zoldello/8hvXN/2/ 어떤 일이 일어나고있는 것은 움직이지 않는 항목을 이동하려고하면 전체 항목이 선택된다는 것입니다. NOT MOVABLE에 마우스를 올려 놓고 전체 컨테이너가 움직이는 것을 확인하십시오. 이 문제를 막을 수있는 방법이 있습니까? – Phil