如何使用actionscript和flex将变量值放入数组集合中?

时间:2012-05-23 07:59:21

标签: actionscript-3 flex

我有一个变量,我想在arraycollection或数组中使用actionscript和flex

来填充这个变量

以下是代码

var xyz:int=30;

var myArray:Array = [ {Month: "January", Views_Week1:xyz}, { Month: "June",        

    Views_Week2: 13 }, { Month:" December", Views_Week3: 14} ];

pageViews= new ArrayCollection(myArray);

pageViews= new ArrayCollection(myArray);
[
    { Month: January, Views_Week1: xyz},
    { Month:June, Views_Week2: 13},
    { Month: december, Views_Week3: 14}])

plz

2 个答案:

答案 0 :(得分:1)

pageViews= new ArrayCollection(myArray);

看起来很好。然而,第二个在初始化ArrayCollection然后尝试再次分配对象时没有意义(这不会发生,因为;语句结束标记)。< / p>

这不适合你吗?

答案 1 :(得分:1)

这不起作用。在定义变量时,它基本上只存在于该范围内。您可以在类的范围内声明它[Bindable],因此该类将使用PropertyChangeEvent.PROPERTY_CHANGE类型的PropertyChangeEvent传播更改。这将允许您使用&lt; {} /&gt;使用BindingUtils,ChangeWatcher和MXML数据绑定。声明性绑定。

您需要定义一个类,声明该类或字段[Bindable],然后创建该类的实例并通过ArrayCollection引用它们。使用vanilla对象不会让你到达某个地方,因为那些不能发送事件。

    package
    {
      [Bindable]
      public class Person
      {
        public var name:String;

        public function Person(n:String)
        {
          name = n;
        }
      }
    }

    const source:Array = [new Person('Fred')]
        , collection:IList = new ArrayCollection(source);

数据绑定依赖于一些关键机制,如事件调度,这是需要记住的。此外,以某种方式,对要更改的数据的引用需要在不同的范围内,其中需要更改通知。