1

假设我们有一个有序的待办事项列表,最上面的就是我们接下来要处理的:

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

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

然后,我们通过拖放界面重新排序列表。

API 有一个端点/todos/sort,期望以新的顺序发布一组 ID。这可以改变,但这是我们现在所拥有的。

您将如何将新订单保存到服务器?

我想我可以添加一个position属性并在订单更改时更新所有项目的属性,然后调用commit商店 - 但是当我们想要的只是新订单时,这将通过网络发送所有数据。另外,除非我们实施批量保存,否则它会发送大量请求。

目前我正在考虑完全绕过这部分的 Ember-Data,只是$.ajax在控制器中有一个普通的旧请求。

4

1 回答 1

1

创建一个模型TodoList,其中包含有关待办事项的元数据。该模型的一个(我猜现在唯一的)属性是位置数组。因此,当用户订购待办事项列表时,无需更新每个待办事项,而是更新容器。

于 2013-02-06T17:49:38.980 回答