javascript - 我如何伪造集合数据?

标签 javascript backbone.js

我的意思是我想人工创造它。

这是为了测试目的。

但是对于模型来说,这很简单。我只是设置了 defaults 我实例化了模型对象,然后我可以使用 this.model.toJSON() 来获取创建的数据。

我想对集合使用同样的技巧。有没有类似的方法来处理集合?我想要做的是让集合创建 x(在本例中为 8)模型默认值的副本。

基本上是我之前为模型所做的,但在应用于集合时会稍微复杂一些。

这是实际用例。它应该很简单。

/**Model
**/

    // name, picture, time, tweet, h_file
    var FeedRow = Backbone.Model.extend({
        Name: 'FeedRow',
        defaults: {
            name: "default",
            picture: 0,
            time: "0",
            tweet: "default",
            h_file: "default"
        }
    });

/**Collection
**/

    var FeedTable = Backbone.Collection.extend({
        Name: 'FeedTable',
        model: FeedRow
    });

最佳答案

构建 FeedTable 集合时,您可以在初始化方法中对其多次设置模型。

var FeedTable = Backbone.Collection.extend(
{
    Name: 'FeedTable',
    model: FeedRow,

    initialize: function()
    {
        model  = this.model;
        models = [];

        _.times(8, function(n)
        {
            models.push(new model({id: (n + 1)}));
        });

        this.set(models);
    }
});

关于javascript - 我如何伪造集合数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24813375/

相关文章:

javascript - 在视口(viewport)中显示元素(机车滚动)

backbone.js - 直接从模型重写 fetch() 和 save() 是个好习惯吗?

javascript - AJAX + Rails 的最新技术是什么?

javascript - 如何将输入字段设置为只读

javascript - 如何在jquery-uidraggable上实现引用线作为拖动的指导?

javascript - 在 ExtJS 中禁用时区转换

backbone.js - 如何将在 ItemView 中单击的模型发送到同一页面上的另一个 ItemView?

javascript - 我的 Backbone 模型的验证方法在 model.fetch 上调用,但不在 collection.fetch 上调用

javascript - backbone.js 事件和 el

javascript - jQuery 插件超时