파슬리가있는 Flex 4의 다른 요소를 과도하게 쓰지 않고 주입 된 배열에 요소를 추가하는 방법
-
21-12-2019 - |
문제
객체 모음을 저장하기 위해 사용하고있는 배열이 있습니다.내 응용 프로그램을 사용하면 사용자가 새 개체를 배열에 추가하고 개체의 내용을 편집 할 수 있습니다.배열의 모든 오브젝트는 동일한 유형이며 문제가있는 문제는 새 개체를 추가하거나 기존 개체를 편집하면 배열에 포함 된 모든 오브젝트가 새로 추가 된 객체의 정확한 복사본이됩니다. 이것을 멈출 수있는 방법이 있습니까?
내 응용 프로그램에서 ArrayCollection을 저장하는 객체가 있습니다.
public class MyArray
{
public var array:ArrayCollection = new ArrayCollection;
}
.
이 배열의 인스턴스를 저장하고자하는 객체가 있습니다.
public class MyObject
{
public var things:String;
}
.
My Main MXML 파일은 ActionScript 파일에서 보유 된 DataRray의 MyArray의 모든 항목을 표시합니다.
<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);
}
}
.
응용 프로그램이 매우 크지 만 관련 코드를 포함하려고 시도했지만 자세한 정보가 필요하면이를 제공 할 수 있습니다.
해결책
OK 이렇게 해독하는 방법은 MyObject의 새 인스턴스를 만들고 MyArray에 해당적으로 추가하는 것이 었습니다.
public function addNew(thingtoadd:MyObject):void
{
var addobj:MyObject = new MyObject;
addobj.things = thingtoadd.tings;
thearray.addItem(addobj);
}
. 제휴하지 않습니다 StackOverflow