如何将元素添加到注入的阵列,而无需过度编写Flex 4中的其他元素与欧芹
-
21-12-2019 - |
题
我有一个我正在使用的数组来存储一个对象的集合。我的应用程序允许用户将新对象添加到数组并编辑对象的内容。数组中的所有对象都是相同的类型,问题是我所拥有的问题是,如果我添加新对象或编辑现有对象,那么阵列中包含的所有对象都会成为新添加对象的精确副本。 有没有办法停止这个?
在我的应用程序中,我有一个存储ArrayCollection:
的对象public class MyArray
{
public var array:ArrayCollection = new ArrayCollection;
}
.
我有一个对象,我希望在这个阵列中存储实例:
public class MyObject
{
public var things:String;
}
.
我的主要mxml文件在DataGrid中显示MyArray中的所有项目,该文件在ActionScript文件中保持:
<App xmlns:par="http://spicefactory.org/parsley">
<fx:Declarations>
<par:ContextBuilder config="MainContext"/>
<par:Configure/>
<par:FastInject property="mainpm" type="{MainPM}"/>
</fx:Declarations>
<fx:Script>
[Inject][Bindable]
public var mainpm:MainPM;
<fx:Script>
.
然后是ActionScript文件:
public class MainPM
{
[inject][Bindable]
public var thearray:MyArray;
public function addNew(thingtoadd:MyObject):void
{
thearray.addItem(thingtoadd);
}
}
.
我试图包括相关代码,因为应用程序相当大,但如果需要更多信息,我可以提供它。
解决方案
好的,所以唯一的方法是创建一个新的MyObject实例并将其添加到MyArray。
public function addNew(thingtoadd:MyObject):void
{
var addobj:MyObject = new MyObject;
addobj.things = thingtoadd.tings;
thearray.addItem(addobj);
}
. 不隶属于 StackOverflow