使用本地存储适配器自动在ember数据中生成ID

MBe*_*mam 5 ember.js ember-data

我需要一种为添加到store的新记录生成id的方法。我正在使用本地存储适配器。并搜索某种方式并查找诸如本地存储适配器中的功能:

generateIdForRecord: function () {
    return Math.random().toString(32).slice(2).substr(0, 5);
}
Run Code Online (Sandbox Code Playgroud)

但是此函数的问题是此函数在字符串中创建id,我需要在整数范围内自动递增id。例如1或2或2000,并且如果添加的新记录的ID是记录中ID的最大值,再加上1。我需要在客户端而不是服务器上执行此操作。

Kal*_*man 0

如果你想要一个 \xe2\x80\x8d\xe2\x80\x8d\xe2\x80\x8d counter-type id,你总是可以做fixture_adapter正在做的事情,即调用一个变量counter并每次递增它(参见此处)。

\n\n

但是,如果记录被删除会发生什么?您是否想要另一条新记录,其 ID 为已删除的旧记录?相反,如果您有某种始终以 1 递增的全局计数器,这将解释我提到的问题 - 那么您无论如何都只是分配几乎随机的 id,那么为什么不采用生成随机 id 的方法,你是从哪里开始的?:)

\n