【发布时间】:2015-09-13 18:17:18
【问题描述】:
当我以为我终于掌握了承诺如何在 Ember 中工作的概念时。这种情况让我重新陷入混乱。
用户模型具有以下关联:
profile: DS.belongsTo('polymorphable', { polymorphic: true, async: true })
路线有:
model: function(params) {
return this.store.findRecord('user', 1);
}
在模板中,我正在渲染一个组件:
{{model.profile.firstName}}
{{foo-bar saveProfile=(action "save") profile=model.profile}}
{{model.profile.firstName}} 渲染良好。
组件模板有:
<button {{action "saveProfile" profile}}>Save</button>
组件对象有:
actions: {
saveProfile(profile) {
console.log(profile);
}
}
当组件模板中的按钮被点击时。 console.log 渲染:
Class {isFulfilled: true, __nextSuper: undefined, __ember_meta__: Object, __ember1442167214792: "ember688"}
模板已经解析model.profile,它正在将解析的值传递给模板。为什么profile(在组件中)返回一个承诺?
【问题讨论】: