【发布时间】:2015-08-19 11:12:38
【问题描述】:
我在我的主干应用程序中像这样从我的服务器获取模型数据,
var projectModel = new App.Models.Project({ id: 1001 });
projectModel.fetch();
提取有效,我从服务器返回数据,但数据不是我期望的格式,项目是包含其他模型和集合的模型,但是从服务器返回并进入模型的是像这样,
{
project_name: "A Test Project"
project_managers: Array[5],
workers: Array[10]
}
这意味着每次我为一个项目进行抓取时,我都必须设置每个需要成为模型或集合的属性,
projectModel.set('workers', new App.Collections.Users(projectModel.get('workers')));
在我的模型中,我确实有一个初始化函数,我在其中执行所有这些设置,但这似乎在获取时被忽略了。
肯定有比单独检查属性更好的方法来设置我的属性吗?
如果像这样覆盖模型中的 parse 方法,
parse: function(response, options) {
this.set('workers', new App.Collections.Users(response.workers));
}
这确实将工作人员作为项目模型中的集合返回,但它忽略了名称等单个属性,所以我希望它会返回,
{
name : Test Project,
workers : s //this is how console.log outputs it
},
但我得到的都是,
{
workers : s //this is how console.log outputs it
}
这是为什么?
【问题讨论】:
标签: javascript backbone.js backbone-model