Как добавить элементы в инъекционный массив без надписи других элементов в 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;
}
.

Мой главный файл MXML отображает все элементы в Myarray в DataGrid, который содержится в файле 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);
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top