内容简介:翻译自:https://stackoverflow.com/questions/15907029/load-a-model-manually-with-emberdata
格式返回当前用户.
使用createRecord直接在模型上设置返回的JSON属性.例如,is_private变为user.is_private,而不是user.get(‘isPrivate’)?
如何加载用户模型以便正确设置属性并且我不必使用id重新获取它?
:
Loading Data
Previously, some features of the store, such as load()
, assumed a
single adapter.
If you want to load data from your backend without the application
asking for it (for example, through a WebSockets stream), use this
API:
store.adapterForType(App.Person).load(store, App.Person, payload);
This API will also handle sideloaded and embedded data. We plan to add
a more convenient version of this API in the future.
但不幸的是,尽管文档声称,它并不处理侧载数据.我个人使用类似下面的内容,它基于如何实现find(ID):
var id = json["person"]["id"]; var store = DS.get("defaultStore"); var adapter = store.adapterForType(App.Person); adapter.didFindRecord(store, App.Person, json, id); var person = App.Person.find(id);
请注意,此代码假定JSON的格式与find(ID)期望从服务器接收的格式相同,如 documented in the RESTAdapter guide :
{ person: { id: 1, is_private: false, projects: [3] }, projects: [ { id: 3, name: "FooReader" } ] }
这将应用您使用keyForAttributeName配置的任何转换(例如将is_private映射到isPrivate),它将处理侧载记录.我不确定这是不是最好的做法,但效果很好.
翻译自:https://stackoverflow.com/questions/15907029/load-a-model-manually-with-emberdata
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深度探索C++对象模型
斯坦利•B.李普曼 (Stanley B. Lippman) / 侯捷 / 电子工业出版社 / 2012-1 / 69.00元
作者Lippman参与设计了全世界第一套C++编译程序cfront,这本书就是一位伟大的C++编译程序设计者向你阐述他如何处理各种explicit(明确出现于C++程序代码中)和implicit(隐藏于程序代码背后)的C++语意。 本书专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模......一起来看看 《深度探索C++对象模型》 这本书的介绍吧!