ember.js ember序列化器上的动态主键

inkz8wg9  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(160)

我尝试在ember seializer上动态设置primaryKey。是否可能?
下面是我可以从服务器获得的响应

account: {iban: "ibanValue", currency : "currencyValue"} or {bban: "bbanValue"}

ember代码:

import DS from 'ember-data';
import ApplicationSerializer from './application';

const {
  EmbeddedRecordsMixin,
} = DS;

export default ApplicationSerializer.extend(EmbeddedRecordsMixin, {
  primaryKey: 'iban'
});

我设置了iban作为主键,但它也可以是bban。我如何根据需要将其中一个设置为主键?

nfeuvbwi

nfeuvbwi1#

Ember数据是一个框架,所有的框架都有自己的规则。这个框架是为了处理数据而开发的,所以它对数据信息施加了一些结构。其中一个规则是所有的实体(models)必须有一个id属性。这实际上对于所有的信息系统来说都是一个很好的实践。也就是说,你必须决定你想用什么作为id,如果因为一些非常奇怪的原因,你有两个不同的属性可以作为id,解决这个问题的最好方法是在服务器端处理它。在数据中添加一个新的id属性,然后从 REST API 返回数据您可以决定要将什么用作特定记录的id,并通过将其值复制到id属性来显式地执行此操作。这样,ember数据将始终有它的id可供使用。

相关问题