PDA

Просмотр полной версии : [swiz] как создать несколько PresentationModel для ItemRenderer-ов


djyamato
19.04.2012, 14:25
Здравствуйте
Не могу понять почему создается всего лишь одна PresentationModel для моего ItemRenderer (это аудиоплеер с множеством стэйтов)

вот Beans:

<presentation:TrackViewPM id="trackViewPresentationModel"/>
<controllers:TrackController id="trackController"/>


PresentationModel:

package swiz.presentation
{
import mx.collections.ArrayCollection;

import swiz.models.VO.Track;

public class TrackViewPM
{
[Bindable]
public var data:Track;

[Bindable]
public var mixInState:String="fadeIn";

[Bindable]
public var mixOutState:String="fadeOut";


[PostConstruct]
public function initHandler():void
{
trace("TrackViewPM inited OK !!!!");
}


public function getInCollectionIndex():void
{
//trace("MODEL collection length="+collection);
}
}
}


TrackController

package swiz.controllers
{
import swiz.models.VO.Track;
import swiz.models.enum.MixType;
import swiz.presentation.TrackViewPM;

public class TrackController
{
[Inject(source="appModel.tracks.length",bind="true")]
public var collectionLength:int;

[Inject(source="appModel.currentTrack",bind="true")]
public var currentTrack:Track;

public function TrackController()
{
}

[PostConstruct]
public function initHandler():void
{
trace("TrackController inited collectionLength="+collectionLength);
}
}
}


ItemRenderer

<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.utils.ObjectUtil;
import swiz.presentation.TrackViewPM;

[Inject]
[Bindable]
public var trackViewPresentationModel:TrackViewPM;
override public function set data(value:Object):void
{
if(value)
{
trackViewPresentationModel.data=Track(value);
}
}


Как создать столько же моделей сколько и айтем рендереров при условии что UseVirtualLayout отключен ?