2012-06-11 40 views
0

我是新来的烬,并仍然让我的框架下我的sealegs。到目前为止,我认为它很棒,除了有一件事情我不明白:如何将数组项目的属性绑定到相邻数组项目的属性。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: ??? 
}); 

而且我有一个简单arraycontroller,仅仅拥有上述对象的列表。我试图做的是能够呼叫App.dates.objectAt(1).get('previousDate')并让它返回App.dates.objectAt(0).get('date')。我最初通过使用previousDate的一个计算属性来完成它的工作,但它只会在更改绑定对象中的项目时更新(即,如果我更改了对象0的日期,它将不会在对象1的previousDate中更新直到我改变了对象1中的日期,导致余烬重新评估计算的属性)。如果有一种方法来定义计算属性与什么对象相关联,那么这可能会做伎俩,但我不认为这是什么计算属性真的应该用于...

我也尝试了一个绑定,如:

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

但这也没有工作。

在此先感谢您的帮助。

+1

你能提供更多的细节,你想要做什么,需要你这样做吗? – ebryn

+0

雅我正在开发在线测试平台的分数系统。基本上,允许教授进行设置,以便学生可以在一段时间内完成全额学分测试,然后能够将其花费80%的时间,然后花费60分钟的时间%等。上面的previousDate参考将用于ui中,因此它基本上会说:“从{{previousDate}}到{{date}}删除{{reductionAmount}}点”。我可以使用某种视图助手来执行相同的操作,但最初认为这样做可能会更容易。感谢帮助 – AWTrost

+0

同样在数组中的第一项上,以前的日期会将最后一天返回到获得充分的信贷。 – AWTrost

回答

0

只是有类似的问题,这里是我如何解决它:http://jsfiddle.net/aMQU6/1/

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

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