初始化对象时,如何获取ember对象的唯一ID?

时间:2016-11-16 09:49:26

标签: javascript ember.js ember-data

我使用createRecord实例化了模型。现在如何在保存之前获取该记录的ID?

1 个答案:

答案 0 :(得分:1)

您可以考虑generateIdForRecord

http://emberjs.com/api/data/classes/DS.Adapter.html#method_generateIdForRecord

  

如果要在您的记录上生成记录的全局唯一ID   客户端,实现generateIdForRecord()方法。这种方法会   每次创建新记录时都会调用,并返回值   从它将被分配到记录的primaryKey。

     

大多数传统的类似REST的API都不会使用此方法。   相反,记录的ID将由服务器和您的   适配器将在调用时使用新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();
  }
});