我试图用骨干与API。
默认的API响应格式为:
{
somemetadatas:xxx ,
results:yyy
}
无论是获取单个模型或集合。
所以,据我知道我可以重写骨干parse
函数:
parse: function (response) {
return response.results;
},
但我见过的文档 :
解析
collection.parse(response)
解析由骨干每当集合的模型是由服务器返回,在获取调用。 所述函数传递原始
response
对象,应该返回模型的阵列属性被添加到集合。 默认的实现是一个空操作,只需通过JSON响应。 如果你需要与现有的API来工作,或者更好的命名空间,你的反应覆盖。 请注意,以后,如果你的模型类已经有一个parse
函数,它将对每个取模型上运行。
所以,如果我有一个集合的响应取这样的:
{
somemetadatas:xxx ,
results:[user1,user2]
}
第一个parse
的采集功能会提取[user1,user2]
但医生说:
请注意,以后,如果你的模型类已经有一个
parse
函数,它将对每个取模型上运行。
所以它会尝试找到response.results;
对user1
和user2
我需要在模型和收藏两种解析功能,因为这两个模型和收集DATAS将结果属性下。
但是,如果我在收集获取,我不想againt单个数组元素中使用的模型解析功能。
那么,有没有对这个问题的解决方案?
我认为一个解决方案,我的收藏解析功能将改变像这样的:
{
somemetadatas:xxx ,
results:[user1,user2]
}
弄成这个样子:
[ {results.user1} , {results.user2} ]
因此,该模型的解析功能将无法在集合失败抓取。 但它是一个有点哈克...是否有任何优雅的解决这个问题呢?
顺便说一句,我的API总是会产生这种形式的结果,是有可能在默认情况下,以覆盖parse
我的所有车型和收藏的功能? (对不起,我一个JS小白......)