0

Backbone.js で制御している要素のリストがあり、リストのビューと、liそれぞれがモデルを制御する各要素のビューがあります。jQuery UI http://jqueryui.com/demos/sortable/からソート可能なプラグインを実装し、モデルの位置に基づいてモデルの値を更新できるようにしたいと考えています。ビュー内からこれを行う方法はありますか、それともここで別のアプローチを取る必要がありますか?

4

1 に答える 1

0

comparatorコレクションを使用してこれらのモデルを保存していると仮定すると、関数が必要な並べ替え順序を表している限り、コレクション内のモデルの「順序」を取得するために必要なすべての情報がコレクションにあります。

次のように、コレクション内の特定のモデルのインデックスを取得できます。

var idx = collectionInstance.indexOf(collectionInstance.get('itemId'))

jQuery Sortable を Backbone と組み合わせて使用​​したとはまだ言えません。コンパレーターを変更してソートを適用することで、必要なことが実行されると常に感じていたからです。

私は特に次の実装が気に入りました:適切な方法で backbone.js コレクションをオンザフライでソートします

Backbone Documentation から、コレクションで手動で並べ替えをトリガーすることがわかっています。

コレクション自体を強制的に再ソートします。通常の状況では、これを呼び出す必要はありません。コンパレータ関数を持つコレクションは、常に適切なソート順で維持されるためです。{silent: true} を渡して沈黙させない限り、sort を呼び出すと、コレクションの「リセット」イベントがトリガーされます。

于 2012-05-15T17:00:58.837 に答える