1

Todo 項目の順序付きリストがあるとします。一番上の項目が次に取り組む項目です。

App.TodoItem = DS.Model.extend({
    title: DS.attr("string")
});

// comes back ordered from the server
var todos = App.TodoItem.find() 

次に、ドラッグ アンド ドロップ インターフェイスを介してリストを並べ替えます。

API には、/todos/sortID の配列が新しい順序でポストされることを期待するエンドポイントがあります。これは変更される可能性がありますが、これが現在の状態です。

新しい注文をサーバーに保存するにはどうすればよいですか?

属性を追加してposition、注文が変更されたときにすべてのアイテムでそれを更新しcommit、ストアを呼び出すことができると思いますが、新しい注文だけが必要な場合は、すべてのデータがネットワーク経由で送信されます。さらに、バッチ保存を実装しない限り、大量のリクエストが送信されます。

現在、この部分の Ember-Data を完全にバイパスすることを考えており、コントローラーには単純な古い$.ajax要求があります。

4

1 に答える 1

1

TodoListTodo に関するメタデータを含むモデルを作成します。そのモデルの 1 つの (今のところ唯一だと思います) 属性は、positions 配列です。そのため、ユーザーが todo のリストを注文すると、各 todo を更新する必要はなく、代わりにコンテナーを更新します。

于 2013-02-06T17:49:38.980 に答える