【问题标题】:How would you render the first n models from a collection?您将如何渲染集合中的前 n 个模型?
【发布时间】:2014-03-26 20:03:15
【问题描述】:

我有一个父视图,它从服务器获取 20 个模型的集合。然后父视图调用三个子视图进行渲染。这些子视图中的每一个都使用该集合,但程度不同。例如,一个将使用所有模型,而另外两个将只需要前 5 个模型进行初始渲染。我想将前五个模型的集合传递给两个只需要五个模型的子视图,并将完整集合传递给使用所有模型的视图。

我可以分别渲染它们并对服务器进行三个不同的调用,但是 1 个调用比 3 个更好,我想知道是否有办法只用调用来做到这一点。

我试过下划线的方法 _.first(this.collection.models, 5) 但是当您将此结果传递给视图时:

this.view = new View({collection:_.first(this.collection.models, 5) })我收到一个错误

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 你可以有多个视图引用同一个集合,所以与其尝试将集合的一部分传递给每个视图,你可能只想让它的渲染逻辑只渲染你想要的模型。

标签: javascript backbone.js marionette


【解决方案1】:

您可以使用方法collection.first,但此方法返回模型数组。所以你需要从中创建新的集合:

var firstFive = new Backbone.Collection(fullCollection.first(5));

【讨论】:

    猜你喜欢
    • 2016-06-09
    • 2014-12-11
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 2013-07-10
    • 1970-01-01
    相关资源
    最近更新 更多