【问题标题】:Should I use different Backbone classes or different instances for each list?我应该为每个列表使用不同的 Backbone 类还是不同的实例?
【发布时间】:2012-08-31 23:11:20
【问题描述】:

我正在使用 Backbone.js

我的页面上有多个模型列表。我应该只使用 Backbone.Collection.extend 创建一个“类”,而我的列表应该是这个“类”的实例,还是应该创建与页面上的模型列表一样多的类?

那么,我应该这样做:

var MyCol1 = new Backbone.Collection.extend({})
var MyCol2 = new Backbone.Collection.extend({})

var listView1 = new ItemsView({ collection: new MyCol1 })
var listView2 = new ItemsView({ collection: new MyCol2 })

还是这个?

var MyCol = Backbone.Collection.extend({})
var listView1 = new ItemsView({ collection: new MyCol })
var listView2 = new ItemsView({ collection: new MyCol })

此时所有列表的行为几乎相同,但它们将具有不同的后端 URL。

【问题讨论】:

  • 你的两个系列包含相同种类的东西吗?
  • 是的。一样的东西。但是选择的东西不同,排列方式也不同。

标签: javascript model-view-controller architecture frameworks backbone.js


【解决方案1】:

如果有什么不同,你会发现你需要两个不同的类,或者你会发现自己陷入了条件句的地狱。

您可以使用具有常见行为的自定义 BaseCollection 并从其继承以获得详细行为。检查以下内容:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    相关资源
    最近更新 更多