適配器和夾具適配器和REST適配器有什麼區別,什麼時候使用每一個?在ember-data中,Adapter和Fixture Adapter和REST Adapter有什麼區別?
7
A
回答
22
使用DS.FixtureAdapter
(或DS.FixtureAdapter.create()
)如果您還沒有(但?)謹慎地與後端進行通信,但會將數據作爲「固件」存儲在客戶端中。一旦你已經聲明瞭一個模型:
App.Thing = DS.Model.extend({
name: DS.attr('string'),
// ...
});
您可以定義夾具:
App.Thing.FIXTURES = [
{
id: 1,
name: '...',
// ...
},
{
id: 2,
name: '...',
// ...
},
];
然後你就可以使用他們的餘燼數據的方法(例如App.Thing.findAll()
等),並對其進行操作,但當然,它只會持續頁面(即javascript環境)。
DS.RestAdapter
雖然顯然還在開發中,但它的設計非常適合Rails API,但可能會被修改/擴展以適用於您正在使用的任何RESTful API。它知道通過致電/things
來處理App.Thing.findAll()
,並且通過致電/things/12
來處理App.Thing.find(12)
。這是一個相對路徑,追加到命名空間參數,您在傳遞:
App.store = DS.Store.create({
revision: 4,
adapter: DS.RestAdapter.create({
namespace: 'http://what.ever/api/v1'
})
});
DS.Adapter
是相當抽象:上述內置適配器的超類。如果兩者都不符合您的需求,您可能需要自行實施:
App.adapter = DS.Adapter.create({
find: function(store, type, id) {
// ...
jQuery.get(... , function(data) {
store.load(type, id, data);
});
},
createRecord: function(store, type, model) {
// ...
jQuery.post(... , function(data) {
store.didCreateRecord(model, data);
});
},
// ...
});
App.store = DS.Store.create({
revision: 4,
adapter: App.adapter
});
希望有所幫助。有關更多信息,請參閱自述文件https://github.com/emberjs/data。
相關問題
- 1. Android中Adapter和AdapterView有什麼區別?
- 2. Start Adapter from Adapter
- 3. Decorator和Adapter之間的區別
- 4. Model-View-Presenter和Model-View-Adapter有什麼區別?
- 5. Ruby和activerecord-oracle_enhanced-adapter
- 6. Android中的ListView Adapter和Listener?
- 7. setAdapter(adapter);?
- 8. Java相當於tcp-inbound-channel-adapter和tcp-outbound-channel-adapter bean配置
- 9. drscheme c#adapter
- 10. isEnabled()with Adapter Android
- 11. Android - Adapter NullPointerException
- 12. setAdapter(adapter)always error
- 13. IBM Worklight Adapter java
- 14. Firebase Recycler Adapter
- 15. activerecord-sqlserver-adapter
- 16. 使用retrofit和recyclerview - 爲什麼我的ArrayList在Adapter中爲null?
- 17. Android adapter parent width = 0
- 18. CLASS ADAPTER不工作
- 19. adapter = new ListLeaderBoardAdapter(this,mLeaderboardlist);
- 20. ListView(Adapter)item visibility listener
- 21. dm-mysql2-adapter(LoadError),但是爲什麼?
- 22. Zend Framework 2&PHPUnit - 模擬Zend \ Db \ Adapter \ Adapter類
- 23. Zend Framework 2 Db \ Adapter \ Adapter查詢結果集,如ZF1
- 24. zf2 - 無法將Zend \ Db \ Adapter \ Adapter服務解析到工廠
- 25. Android:ProgressDialog沒有顯示在Adapter類中
- 26. Android RecyclerView - in Adapter set ImageView height
- 27. IBM Worklight Adapter需要OAuth
- 28. .setAdapter(adapter);給NullPointerException異常
- 29. MobileFirst Platform adapter invocation failed in simulator
- 30. ListView Adapter item Asynktask Stop問題
非常棒的回覆,感謝分享。 – 2014-01-09 16:49:25