我已經使用createRecord實例化模型。現在如何在保存之前獲取該記錄的ID?對象初始化時,如何獲取ember對象的唯一ID?
回答
可以考慮generateIdForRecord
http://emberjs.com/api/data/classes/DS.Adapter.html#method_generateIdForRecord
如果要在 客戶端上生成您的記錄的全球唯一的ID,實現generateIdForRecord()方法。每次創建新記錄時,都會調用此方法 ,並且從中返回 的值將分配給記錄的primaryKey。
大多數傳統的類似REST的HTTP API不會使用這種方法。 相反,記錄的ID將由服務器設置,並且您的 適配器將在調用 didCreateRecord()時使用新ID更新商店。如果您打算在客戶端生成記錄標識 ,請僅實施此方法。
你甚至可以創建模型特定的適配器說post
模型,您可以創建post
適配器和覆蓋generateIdForRecord
方法。
適配器/ post.js
import ApplicationAdapter from './application';
import DS from 'ember-data';
import { v4 } from 'uuid';
export default ApplicationAdapter.extend({
generateIdForRecord: function(store, inputProperties) {
return v4();
}
});
是的,這很可能是解決方案。請注意,ember-data的默認行爲不是要生成id。如果您希望生成客戶端ID,則必須按照@kumkanillam在這裏所述的那樣實施它 – Casey
感謝您的解決方案:) –
- 1. 如何初始化對象
- 2. Javascript何時初始化一個對象
- 3. 如何初始化具有唯一名稱的多個對象
- 4. 初始化對象
- 5. 對象初始化
- 6. 初始化對象
- 7. 初始化對象
- 8. 對象初始化
- 9. 初始化父對象後初始化相關的對象
- 10. 如何初始化一個Array對象?
- 11. 如何初始化一個對象?
- 12. 包對象何時初始化?
- 13. LINQ的初始化對象
- 14. 的Java初始化對象
- 15. 初始化對象的ByRef
- 16. 如何初始化數組的對象?
- 17. 如何初始化nsmutablearray中的對象?
- 18. 使用對象初始化程序初始化對象時添加DataCollection屬性
- 19. 如何從一組對象中獲得唯一的對象對?
- 20. 初始化對象時,實例變量始終未初始化?
- 21. 對象變量初始化
- 22. Java對象初始化
- 23. 超在初始化對象
- 24. MATLAB初始化對象
- 25. 初始化結構對象++
- 26. LINQ和對象初始化
- 27. 流對象初始化
- 28. Ninject - 初始化對象
- 29. 矢量對象初始化
- 30. C++對象初始化
聽起來你正在使用燼數據。如果是這樣,請將標記添加到問題中。 –