从API模型获取的骨干未正确设置

时间:2015-04-21 13:55:28

标签: javascript backbone.js backbone-collections backbone-model

您好我的骨干应用程序中有一些功能,允许用户通过选择菜单进行选择,该选项触发get请求,响应被添加到集合中,

this.archived.fetch({
    success:function() {
        this.archived.each(function(model){
            if(model.get('organisation_id') == $('.js-filter-by-organisation').val()){
                model.set('visible', true);
            } else if($('.js-filter-by-organisation').val() == "all")         {
                model.set('visible', true);
            }

            this.collection.add(model);
        });
    }
});

我的问题是,当我尝试使用添加到集合中的模型时,某些属性是错误的类型。例如,在存档模型中,我有一个名为组织的属性,这应该是一个模型,但是当我运行fetch然后查看集合中的结果时,组织是一个对象,但是在我的模型中,我将此属性设置为模型在初始化。

当我从服务器获取时,我是否做错了什么,并将结果添加到我的收藏中?

1 个答案:

答案 0 :(得分:0)

如果您使用简单的Backbone,则需要实施'解析()'函数在您调用fetch的Model中。

根据定义,此函数用于在调用fetch()或save()之后解析从后端返回的数据。

See the docs for more details

如果您愿意尝试一些可以承担此负担的Backbone插件,我建议您先看一下Backbone Relational。