通常我发现我自己需要编写一个具有特定功能的对象,它是一组模型。
最后,我扩展了一个集合并添加了更多适用于其模型的函数。
我认为最好给你一个例子:
我的应用程序有一组权限,与用户和/或平台版本相关。
var Permissions = Backbone.Collection.extend({
model: Permission,
hasAccess: function (moduleCode) {
....
},
allowAccess: function (moduleCode) {
....
},
...
使用这些方法,我更改了权限(模型)属性的格式。(我的权限是代码与标识权限类型的字符串的串联。)
一个同事告诉我这是错误的。在 .NET 中,他创建了一个类,并添加了一个私有列表并对其进行了更改。他不继承列表并更改它。
他会制作一个模型,并在其中添加一个集合属性
this.set("permissionsCollection", new Backbone.Collection.extend({model: Permission}))
[评论:我不明白他为什么要创建所有东西的属性,我认为在他的情况下不需要。] -> 但这是另一个问题
我以不同的方式思考。我知道集合内部有该列表。我在 Backbone.Collections 中有很大的潜力,为什么我必须使用一个没有必要的模型?如果我不需要那个封装......我认为没有必要,他在我看来是过度编程。
我错了吗?我不知道如何使用 BackboneJS 集合吗?
先感谢您。