Я новичок в ember, и я все еще получаю свои sealegs под меня с помощью рамки. До сих пор я думаю, что это замечательно, за исключением того, что я не могу понять: как связать свойство элемента массива с атрибутом смежного элемента массива.Свойства связывания с соседними элементами в arraycontroller
Детали:
Моя модель как так:
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')
. Сначала я получил эту работу, используя вычисляемое свойство для предыдущегоDate, но оно будет обновляться только тогда, когда я изменил элемент в связанном объекте (т. Е. Если бы я изменил дату объекта 0, он не обновлялся бы в previousDate для объекта 1 пока я не изменил дату в объекте 1, что заставило ember переоценить вычисляемое свойство). Если есть способ определить, с какими объектами связаны вычисляемые свойства, то это, вероятно, сделало бы трюк, однако я не думаю, что это то, что рассчитанные свойства действительно должны использоваться для ...
I также попробовал переплёт как:
previousDateBinding: 'App.dates.getObject('+this.get('index')-1+').date'
но это тоже не сработало.
Заранее благодарим за помощь.
Не могли бы вы предоставить более подробную информацию о том, что вы пытаетесь сделать, для чего вам нужно это сделать? – ebryn
Ya Я работаю над системой оценки для онлайн-платформы тестирования. В принципе, это позволяет профессору настроить его, чтобы учащиеся могли пройти тест на определенное количество времени для получения полного кредита, а затем уметь принимать его на определенное количество времени на 80%, затем на 60 % и т. д. В этом случае для ui будет использоваться ссылка previousDate, поэтому она будет в основном говорить: «От {{предыдущий]} до {{date}} удалять {{reduceAmount}} точки". Я могу, вероятно, использовать какой-то помощник вида для выполнения того же действия, но изначально полагал, что может быть проще сделать это таким образом. Спасибо за помощь – AWTrost
Также по первому элементу массива предыдущая дата вернет последний день получить полный кредит. – AWTrost