ember.js - 如何在 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 的一些信息,payable
但paymentRecord
直到将来某个未知点才解决。可能是paymentRecord
也可能不是thenable,所以我们必须跳过各种箍:
- 必须小心检查
isSettled
,false
因为undefined
这表明不是 thenable - 必须深入
.content
研究它是否存在于 thenable 的情况下
但这感觉像是一种黑客行为,我在指南中找不到任何关于此的内容。
编辑:
paymentRecord
是一个 ember 数据模型belongsTo
payable
,另一个 ember 数据模型。payable
我的目标是在不触发请求的情况下读取 ID 。
解决方案
推荐阅读
- git - 在 Git 中,我可以“签出”本地仓库中的所有远程分支吗?
- android - 如何防止或删除库字符串资源以我的 apk 结尾?
- c# - 无法启动连接到远程 SQL 服务器的 windows 服务
- python - 基于列数据构建数据集
- python - 在按钮kivy中对齐文本位置和大小
- mongodb - MongoDB:使用最大聚合进行匹配和分组
- php - Woocommerce 自定义支付网关未执行 form.submit
- r - 如何不使用箱线图压缩数据?
- ts-node - ts-node --version 运行时间非常长
- javascript - 如何将 html css 和 javascript 文件添加到 node.js?