javascript - 在 emberjs 2.x 和 Firebase 3.x 中使用自定义 ID 创建记录

标签 javascript firebase ember.js ember-data frontend

到目前为止,我使用以下代码行保存了所有数据:

saveUser(params) {
      let newUser = this.store.createRecord('user', params);
      newUser.save();
      this.transitionTo('index');

这工作正常,但不允许在 firebase 中使用自定义 ID,所以我将其更改为:

saveUser(params) {
      let newUser = this.store.createRecord('user', {
        id: params.loginId,
        name: params.name,
        nickname: params.nickname,
        imageUrl: params.imageUrl,
        email: params.email
      });
      newUser.save();
      this.transitionTo('index');

完全按照我希望它们存储在 Firebase 数据库中的方式处理它们,所以没有问题。我想知道,虽然没有在网上找到任何解决方案,但我如何将两者结合起来,这样我就不必绑定(bind)每个参数。当我添加/删除模型属性时,它肯定会出现问题。 我正在寻找的东西看起来像这样(伪,是的,我试过了,没有用!):

let newUser = this.store.createRecord('user', {id: params.loginId}, params);

简而言之,我正在寻找 ('model', params) 的动态属性,但可以选择手动调整 1(或更多)条记录而无需输入 所有参数。

提前致谢!

最佳答案

您可能希望自定义您的序列化程序来完成此操作。文档中的示例很好,因此应该非常简单:https://guides.emberjs.com/v2.13.0/models/customizing-serializers/

当然,我假设您正在为您的模型使用 Ember Data。

关于javascript - 在 emberjs 2.x 和 Firebase 3.x 中使用自定义 ID 创建记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44070446/

相关文章:

ember.js - 如何替换 ember-simple-auth 中的授权方法

javascript - 如何锁定 Kendo UI Vue Grid 中的列( native )

android - OrderByKey 工作正常,但 OrderByChild 在 firebase 实时数据库中给出了意想不到的结果

ios - 如何向 MapKit CallOuts Swift 3 添加按钮

angular - 当 Ionic 3 中的 Firestore 集合发生更改时,如何实现应用程序范围的通知功能?

javascript - Controller 分配的模型无法从组件访问

javascript - 组合对象

javascript - 是否可以使用 HTML5 和 CSS3 对矢量图像进行动态着色?

javascript - 删除 chart.js 上的轴线

ember.js - 我怎样才能得到我以前的路线?