在 Backbone.js 中,我正在使用将响应包装在 ameta
和data
hash 中的 API。例如:
# GET /api/posts/1
meta: {
status: 200
},
data: {
id: 1
title: 'Hello World'
}
# GET /api/posts
meta: {
status: 200
},
data: [
{
id: 1
title: 'Hello World'
},
{
id: 2
title: 'Hi everyone!'
}
]
我的 Backbone.js 集合/模型覆盖了以下解析函数:
# App.Models.Post
...
parse: function (response) {
this.meta = response.meta;
return response.data;
}
# App.Collections.Posts
...
parse: function (response) {
this.meta = response.meta;
return response.data;
}
但是,当我在 collection 上获取时posts = new App.Collections.Posts(); posts.fetch()
,帖子属性都是空的。即posts.at(0).get('title') = undefined
。
现在,当模型解析更改为:
parse: function (response) {
return response;
}
但这意味着它post.fetch()
被打破了。有什么建议么?
谢谢!