ember.js - Ember 重新加载 belongsTo 关系
问题描述
我在模型中定义了一个 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-data
会重新加载关系;因为您没有reload
在您提供的代码块中强制建立关系。
除了我刚才解释的内容;您始终可以按如下方式获取关系的当前值;this
如您的示例所示,关系的所有者在哪里:
this.belongsTo('gallery').value()
这将为您提供关系的当前值,即使它是以同步方式异步的。所以你甚至不需要await
那里。请参阅官方API 文档以了解我的意思。希望这可以帮助。
推荐阅读
- reactjs - 为什么我的应用程序在桌面上的性能非常好,但在使用 ReactJs 的手机上却搞砸了?
- android - 如何解决“发现现有项目依赖项不一致”的问题?
- linkchecker - 免费文件托管 URL 检查器
- python - 我如何获得图像的原始分辨率,就像我在 python 之外正常打开它时一样
- algorithm - 关于矩阵算法的面试问题
- discord.py-rewrite - 如何检查是否给出了参数?
- python - 如何解决无效语法问题?
- javascript - JavaScript:箭头函数的等价物(如何不使用箭头)
- reactjs - 在 react-cookie 中模拟 cookie
- android - 未找到 Android Studio com.google.android.gms.internal.zzbgl