【问题标题】:Ember reloading belongsTo relationshipEmber 重新加载 belongsTo 关系
【发布时间】:2018-12-04 15:10:29
【问题描述】:

我在模型中定义了一个 belongsTo 关系,例如

gallery: DS.belongsTo('store-gallery', { async: true }),

稍后,我将创建一个新对象,如果它为空,则将其分配给关系:

let galleryObject = this.get('store').createRecord('store-gallery', {});
this.set('gallery', galleryObject);
console.log('Created', galleryObject, await this.get('gallery'));

问题是由于 Ember 重新加载关系,this.get('gallery') 调用返回 NULL

如何设置关系(最好不必将其转换为非异步)而不立即覆盖它?

【问题讨论】:

    标签: ember.js ember-data ember-cli


    【解决方案1】:

    我没有尝试您的要求,老实说,我有点惊讶这按您解释的方式工作。我没想到ember-data 会重新加载关系;因为您没有在您提供的代码块内的关系上强制使用reload

    除了我刚才解释的;您始终可以按如下方式获取关系的当前值;其中this 是关系的所有者,如您的示例所示:

    this.belongsTo('gallery').value()

    这将使您达到关系的当前值,即使它是以同步方式异步的。所以你甚至不需要在那里有await。请参阅官方API documentation 了解我的意思。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 2016-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-26
      相关资源
      最近更新 更多