2009-10-12 1 views
0

Я чувствую, что это должно быть просто, но здесь я задаю вопрос после хорошего количества разочарований.Flex + Cairngrom + getter setter on the bound VO

ОК У меня есть проект, который я делаю в Cairngorm в Flex 3. В одном из компонентов у меня есть список плиток, привязанный к VO в Locator модели. Я хочу запустить функцию, когда VO содержит некоторые данные, которые в основном добавляют суммы определенного значения в этот VO. Я был в Flex Jam в Анн-Арборе, и я думал, что Джеймс сделал это с помощью геттеров & сеттеров со своим примером Cairngorm.

Это простая вещь? Кто-нибудь есть пример того, как это сделать? Есть ли более простой способ?

Спасибо за любую помощь/совет.

ответ

0

Похоже на то, что он сделал, добавляя геттер/сеттер для свойства коллекции в VO, который пересчитывает это суммарное значение на основе содержимого новой коллекции, то есть это довольно стандартный подход, а код ниже не является сложно.

private _yourCollection:ArrayCollection; 

public function set yourCollection(value:ArrayCollection):void 
{ 
    if (_yourCollection != value) 
    { 
     _yourCollection = value; 
     // calculate new sum 
     var sum:Number = 0; 
     for each (var obj:SomeVOType in _yourCollection) 
      sum += obj.valueToSum; 
     sumProperty = sum; 
    } 
}