Backbone.js - 我应该使用模型还是集合来完成这项工作?
Backbone.js - should I use Model or Collection for the job?
我对 Backbone.js 的了解有限,并且在将 Model
和 Collections
的概念应用到项目中时遇到了一些麻烦。
在server/database方面,它的设计是:用户可以对Category
的列表进行增删改查,就像Backbone.js的Collection
一样。在 Category
下,用户可以 CRUD Worksheet
s。在 Worksheet
下,用户可以 CRUD Item
s。
我应该 Worksheet
作为 Collection
还是 Model
?或者我可以在 Worksheet
的 Model
中包含 Items
的 Collection
吗?如果可以,我该怎么做?
此外,除了通常的 CRUD RESTful 操作之外,使用 [=47= 在 Collection
中实现 Model
的 ordering/sorting 的最佳方法是什么? ] 与休息?我希望 Item
能够让用户在 Worksheet
中进行排序。我已经阅读了一些 Backbone.js 教程,它们主要涵盖了 CRUD 操作,而不是诸如排序之类的其他内容。
可能是我遗漏了一些东西,但我只是不明白Collection
的意义,Collection
下有一个fetch
方法,但我可以获取所有Model
s 在一个特定的 Collection
下使用集合 ID?教程不包括这样的内容....
请记住,使用 model/collection classes 的目的是利用它们的方法,而不是创建一个简单的数组。
因此,以事件处理为例,您可以在单个模型上收听事件,或者您可以收听整个模型集合。然后根据需要更新服务器。
如果您有多个工作表,那么工作表也可以是一个新集合。这意味着每个工作表都是一个 backbone 模型。
正在对集合进行排序:
查看文档中的收集方法,尤其是underscore methods
您可以通过扩展 Backbone 集合 class,然后创建一个新实例来向集合添加排序方法。示例:
var SortableCollection = Backbone.Collection.extend({
sortThis: function() {
// return 'this' sorted
}
});
var collection = new SortableCollection();
SortableCollection.sortThis();
关于获取集合,this answer may help
我对 Backbone.js 的了解有限,并且在将 Model
和 Collections
的概念应用到项目中时遇到了一些麻烦。
在server/database方面,它的设计是:用户可以对Category
的列表进行增删改查,就像Backbone.js的Collection
一样。在 Category
下,用户可以 CRUD Worksheet
s。在 Worksheet
下,用户可以 CRUD Item
s。
我应该 Worksheet
作为 Collection
还是 Model
?或者我可以在 Worksheet
的 Model
中包含 Items
的 Collection
吗?如果可以,我该怎么做?
此外,除了通常的 CRUD RESTful 操作之外,使用 [=47= 在 Collection
中实现 Model
的 ordering/sorting 的最佳方法是什么? ] 与休息?我希望 Item
能够让用户在 Worksheet
中进行排序。我已经阅读了一些 Backbone.js 教程,它们主要涵盖了 CRUD 操作,而不是诸如排序之类的其他内容。
可能是我遗漏了一些东西,但我只是不明白Collection
的意义,Collection
下有一个fetch
方法,但我可以获取所有Model
s 在一个特定的 Collection
下使用集合 ID?教程不包括这样的内容....
请记住,使用 model/collection classes 的目的是利用它们的方法,而不是创建一个简单的数组。 因此,以事件处理为例,您可以在单个模型上收听事件,或者您可以收听整个模型集合。然后根据需要更新服务器。
如果您有多个工作表,那么工作表也可以是一个新集合。这意味着每个工作表都是一个 backbone 模型。
正在对集合进行排序:
查看文档中的收集方法,尤其是underscore methods
您可以通过扩展 Backbone 集合 class,然后创建一个新实例来向集合添加排序方法。示例:
var SortableCollection = Backbone.Collection.extend({ sortThis: function() { // return 'this' sorted } }); var collection = new SortableCollection(); SortableCollection.sortThis();
关于获取集合,this answer may help