0

我觉得这应该是一件简单的事情,但是在这里我在经历了很多挫折之后才提出这个问题。

好的,我在 Flex 3 中的 Cairngorm 有一个项目。在其中一个组件中,我有一个与模型定位器中的 VO 绑定的图块列表。一旦 VO 包含一些数据,我想运行一个函数,这些数据基本上在该 VO 中添加了某个值的总和。我当时在 Ann Arbor 的 Flex Jam,我认为 James 用他的 Cairngorm 示例使用 getter 和 setter 做到了这一点。

这是一件简单的事情吗?有没有人有如何做到这一点的例子?有没有更简单的方法?

提前感谢任何帮助/建议。

4

1 回答 1

0

听起来他所做的是在 VO 中为集合属性添加一个 getter/setter,它根据新集合的内容重新计算该总和值,即这是一种非常标准的方法,下面的代码并不难。

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;
    }
}
于 2009-10-14T15:18:23.347 回答