私はソート可能なノックアウトで編集可能なツリー構造を作り、この偉大な例を見つけています:http://jsfiddle.net/rniemeyer/Lqttfノックアウトソート可能な、重複(ツリー構造を作る)
正常に動作しますが、私は変わって、私は、ルートノードのリストを持っていますルートノードのバインディングは、ツリー項目のソート可能なリストにもなります。フィドル:あなたはA、その後BにBをドラッグした場合
<script id="nodeTmpl" type="text/html">
<li>
<a href="#" data-bind="text: name"></a>
<div>
<ul data-bind="sortable: { template: 'nodeTmpl', data: $data.children }"></ul>
</div>
</li>
</script>
<ul data-bind="sortable: { template: 'nodeTmpl', data: root }"></ul>
新しいテンプレートのマークアップは、この(ルートULはsortable
、元のようにtemplate
を結合していないことを注意してください)のように見えますがAに移される代わりににコピーされます。それは私が原因と解決策を探している問題です。私がすぐに考えているのは、ソート可能なのは、マークアップ/ htmlの問題のため、アイテムが同時に両方のリストにドラッグされていると思っているが、どう見えるか分からないということだ。
注:すべてのアイテムをルートノートにラップすることができますが、それは私の目的にはあまり意味がありません。
は、ライブラリは 'observableArray'であることをソートするアイテムを必要としませんか? 'root'配列を' ko.observableArray'に変更すると、すべての_seems_が正常に動作します。 docsから:「knockout-sortableは、observableArrays **とjQuery UIのソート可能な機能とを接続するように設計されたKnockout.jsのバインディングです。」 – user3297291
私はあなたが正しいと思います。あなたが答えを提出できる場合、私はそれを解決策としてマークします:) – altschuler