Ember.js:基于承诺的属性

Ember.js:基于承诺的属性,ember.js,Ember.js,假设公司是路线中某个地方定义的承诺。在我的控制器中,我基于以下承诺定义了一个计算属性breadcrumb: breadcrumb: function() { return [ ... {name: this.get("company").get("name"), url: "#company/" + this.get("company").get("id")}, ... ] }.property("company") 在我的模板中

假设
公司
是路线中某个地方定义的承诺。在我的控制器中,我基于以下承诺定义了一个计算属性
breadcrumb

breadcrumb: function() {
    return [
        ...
        {name: this.get("company").get("name"), url: "#company/" + this.get("company").get("id")},
        ...
    ]
}.property("company")
在我的模板中,面包屑即使在承诺解决后也不会更新

{{format-breadcrumb breadcrumb}}
我也尝试了
观察
,但结果是一样的。获得我想要的结果的唯一方法是观察
company

...
}.property("company.id")
这是基于承诺创建财产的唯一方法吗?我想遵守承诺本身,而不是一个具体的属性

我使用的是ember 1.7和ember data beta 10


谢谢

我的建议是始终取决于您所关心的房产:

}.property('company.id', 'company.name')
因为这些都会影响面包屑。如果promise加载并且这些属性稍后更改,您是否希望面包屑过时(双关语)

另一种方法是(另外)遵守承诺生命周期属性:

  • 孤岛
  • 安顿
  • 被驱逐
  • 完成
因此:

其他想法,(I)更喜欢:

超过:


谢谢你的回答,也谢谢你的额外思考!我是新来的灰烬,我有很多东西要学
 }.property('company.isFulfilled')
this.get('company.name')
this.get('company').get('name')