Backbone.js -我应该使用模型还是集合来完成这项工作?

yqkkidmi  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(184)

我对Backbone.js的了解有限,在将ModelCollections的概念应用于项目时遇到了一些麻烦。
在服务器/数据库端,设计为:用户可以对Category的列表进行CRUD,这类似于Backbone.js的Collection。在Category下,用户可以对Worksheet进行CRUD。在Worksheet下,用户可以对Item进行CRUD。
我应该把Worksheet作为Collection还是Model?或者我可以把ItemsCollection放在WorksheetModel里面吗?如果可以,我该怎么做?
另外,除了通常的CRUD REST操作之外,使用Backbone.js和REST实现CollectionModel的排序/排序的最佳方式是什么?我希望Item能够让用户在Worksheet中排序。我读过一些Backbone.js教程,它们主要涉及CRUD操作,而不是排序之类的其他内容。
也许我错过了一些东西,但我就是不明白Collection的意义,在Collection下有一个fetch方法,但我可以使用集合ID获取一个特定Collection下的所有Model吗?教程不包括这样的内容....

yjghlzjz

yjghlzjz1#

请记住,使用模型/集合类的目的是利用它们的方法,而不是创建一个简单的数组。因此,对于事件处理,例如,您可以监听单个模型上的事件,或者您可以监听整个模型集合。然后根据需要更新服务器。
如果您有多个工作表,那么工作表也可以是一个新的集合。这意味着每个工作表都将是一个 Backbone.js 模型。
对收藏进行排序:
1.请参阅文档中的集合方法,尤其是下划线方法
1.您可以借由扩充Backbone Collection类别,然后建立新的执行严修,将排序方法加入至集合。范例:

var SortableCollection = Backbone.Collection.extend({
    sortThis: function() {
        // return 'this' sorted
    }
});
var collection = new SortableCollection();
SortableCollection.sortThis();

关于提取集合,this answer may help

相关问题