首页 > 解决方案 > 如何在 Ember 中使用 thenable 和计算属性?

问题描述

2018 年在 Ember 中使用 thenable 作为计算属性的依赖键之一的正确方法是什么?

我希望计算属性在 promise/thenable 解决时更新,而无需跳过箍。我这样做:

payableId: computed('paymentRecord.isSettled', function() {
  let paymentRecord = this.get('paymentRecord');
  if (paymentRecord.get('isSettled') === false) return;
  if (paymentRecord.content) paymentRecord = paymentRecord.content;

  return paymentRecord.belongsTo('payable').id();
}),

在我的示例中,我有 apaymentRecord属于 apayable并且我想获取有关 the 的一些信息,payablepaymentRecord直到将来某个未知点才解决。可能是paymentRecord也可能不是thenable,所以我们必须跳过各种箍:

但这感觉像是一种黑客行为,我在指南中找不到任何关于此的内容。

编辑:

paymentRecord是一个 ember 数据模型belongsTo payable,另一个 ember 数据模型。payable我的目标是在不触发请求的情况下读取 ID 。

标签: ember.jsember-data

解决方案


推荐阅读