ton*_*oco 8 ember.js ember-data
在DS.Store#pushPayload调用之后是否有更好的方法来返回记录?这就是我正在做的......
var payload = { id: 1, title: "Example" }
store.pushPayload('post', payload);
return store.getById('post', payload.id);
Run Code Online (Sandbox Code Playgroud)
但是,定期DS.Store#push返回插入的记录.根据我的判断,两者之间的唯一区别是DS.Store#pushPayload使用正确的序列化器序列化有效负载数据.
DS.Store#pushPayload能够获取一组项目,而不仅仅是一个项目,并且可能包含侧载数据.它处理完整的有效负载并期望有效负载中的根密钥:
{
"posts": [{
"id": 1,
"title": "title",
"comments": [1]
}],
"comments": [
//.. and so on ...
]
}
Run Code Online (Sandbox Code Playgroud)
DS.Store#push 期望已经规范化并且不包含侧载数据的单个记录(注意没有根密钥):
{
"id": 1,
"title": "title",
"comments": [1]
}
Run Code Online (Sandbox Code Playgroud)
因此,push返回记录是有意义的,但pushPayload不返回任何内容.
当你使用时pushPayload,第二次查找store.find('post', 1)(或store.getById('post', 1))是要走的路,我不相信有更好的方法.
| 归档时间: |
|
| 查看次数: |
2483 次 |
| 最近记录: |