0

我是 ember 的新手,并且仍然通过框架让我的密封腿在我身下。到目前为止,我认为它很棒,除了一件事我似乎无法弄清楚:如何将数组项的属性绑定到相邻数组项的属性。

细节:

我的模型是这样的:

App.SRDate = Ember.Object.extend({
    timeValue: null,
    reductionAmount: null,
    id: null,
    index: null,
    date: Ember.computed(function(){return formatted date as a string}).property('timeValue') ,
    previousDate: ???
});

我有一个简单的数组控制器,它只包含上述对象的列表。我想要做的是能够调用App.dates.objectAt(1).get('previousDate')并让它返回App.dates.objectAt(0).get('date')。我最初是通过使用previousDate的计算属性来完成它的工作,但它只会在我更改绑定对象中的项目时更新(即,如果我更改对象0的日期,它不会在对象1的previousDate中更新直到我更改了对象 1 中的日期,这导致 ember 重新评估计算属性)。如果有一种方法可以定义计算属性与哪些对象相关联,那么这可能会奏效,但是我认为这不是计算属性真正应该用于...

我还尝试了如下绑定:

previousDateBinding: 'App.dates.getObject('+this.get('index')-1+').date' 

但这也没有用。

提前感谢您对此的任何帮助。

4

1 回答 1

0

刚刚遇到了类似的问题,我是这样解决的:http: //jsfiddle.net/aMQU6/1/

在我的 ArrayController 中,我有一个观察内容变化的函数。然后一旦添加,我将新对象中的一个属性设置为前一个对象,然后将前一个对象的日期绑定到添加对象中的 previousDate 属性。

希望这有帮助!如果您有任何问题,请告诉我。

于 2012-08-09T20:49:22.927 回答