我是ember的新手,我仍然使用框架获得我的sealegs。到目前为止,我认为它很棒,除了有一件事我似乎无法弄清楚:如何将数组项的属性绑定到相邻数组项的属性。
详细说明:
我的模型是这样的:
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的日期,它将不会在previousDate中更新为对象1直到我更改对象1中的日期,这导致ember重新计算计算属性)。如果有一种方法可以定义计算属性与哪些对象相关联,那么这可能就是诀窍,但是我不认为计算属性实际上应该用于......
我也尝试过像:
这样的绑定previousDateBinding: 'App.dates.getObject('+this.get('index')-1+').date'
但这也不起作用。
提前感谢您提供任何帮助。
答案 0 :(得分:0)
刚遇到类似的问题,我就是这样解决的:http://jsfiddle.net/aMQU6/1/
在我的ArrayController中,我有一个观察我内容更改的函数。然后,一旦添加它,我将新对象中的属性设置为前一个对象,然后将前一个对象的日期绑定到添加的对象中的previousDate属性。
希望这有帮助!如果您有任何问题,请告诉我。