파슬리가있는 Flex 4의 다른 요소를 과도하게 쓰지 않고 주입 된 배열에 요소를 추가하는 방법

StackOverflow https://stackoverflow.com//questions/22047901

문제

객체 모음을 저장하기 위해 사용하고있는 배열이 있습니다.내 응용 프로그램을 사용하면 사용자가 새 개체를 배열에 추가하고 개체의 내용을 편집 할 수 있습니다.배열의 모든 오브젝트는 동일한 유형이며 문제가있는 문제는 새 개체를 추가하거나 기존 개체를 편집하면 배열에 포함 된 모든 오브젝트가 새로 추가 된 객체의 정확한 복사본이됩니다. 이것을 멈출 수있는 방법이 있습니까?

내 응용 프로그램에서 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);
}
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top