【问题标题】:BackboneJS + Lodash _.union methodBackboneJS + Lodash _.union 方法
【发布时间】:2014-06-06 11:16:58
【问题描述】:

在我的 Backbone 应用程序中,我尝试使用 Lodash 中的 _.union-方法(下划线)来合并集合。

所以我有以下内容:

var myCollection = _.union([carsCollection], [motorcycleCollection], [bikeCollection]);

当我执行console.log(collection) 时,它给了我[child, child, child],其中每个child 都包含来自集合及其属性的模型数组。到目前为止一切顺利,我现在的问题是:

如何在视图中显示它?我试过了:

this.insertView(new View({collection: myCollection }));

但这没有用......

有人知道问题出在哪里吗?

【问题讨论】:

    标签: backbone.js underscore.js lodash


    【解决方案1】:

    主干集合不是模型数组,在它们上使用_.union 不会产生模型集合。您必须使用collection.models,然后构建一个新集合:

    var models = _.union(
        carsCollection.models,
        motorcycleCollection.models,
        bikeCollection.models
    );
    var unitedCollection = new Backbone.Collection(models);
    

    请参阅http://jsfiddle.net/nikoshr/uc5cn/ 以获取演示

    【讨论】:

    • 好的,我确实试过了,它返回一个空集合。即使我在定义_.union-方法之前做carsCollection.fetch()。这是为什么呢?
    • 可能是因为当你使用_.union时你的集合是空的:fetch是异步的并且不会阻塞,例如看stackoverflow.com/questions/9584870/…
    猜你喜欢
    • 2020-08-08
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多