我有一个变量,我想在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
答案 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);
数据绑定依赖于一些关键机制,如事件调度,这是需要记住的。此外,以某种方式,对要更改的数据的引用需要在不同的范围内,其中需要更改通知。