类的狗。请注意,狗不知道它的位置。从逻辑上说,狗不应该知道它的位置。从项目渲染器中包含类的调用方法
public class Dog {
public var name:String;
public var age:Number;
}
一个显示列表中所有狗的UI组件。有一种方法可以确定一只狗是否已经逃脱。
<?xml version="1.0" encoding="utf-8"?>
<s:VGroup ... >
<fx:Script>
<![CDATA[
[Bindable]
private var listDataProvider:ArrayCollection /* ArrayCollection of Dogs */
public var hasDogEscaped(dog:Dog):Boolean {
return ...;
}
]]>
</fx:Script>
<s:List id="list" dataProvider="{listDataProvider}" itemRenderer="DogItemRenderer"/>
</s:VGroup>
项目渲染器显示的狗的名字,如果一只狗逃脱狗的名字旁边的说明标志。
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer ...>
<s:Label text="{(data as dog).name}" verticalAlign="middle" height="100%"/>
<mx:Image id="dogEscaped"
visible="{???????????????????????????????????????.hasDogEscaped(data as Dog)}"
source="@Embed(source='/assets/icons/warning.png')"/>
</s:Group>
</s:ItemRenderer>
我希望做的是有项目渲染调用从项目渲染hasDogEscaped方法,但我一直无法弄清楚如何做到这一点。任何帮助将不胜感激。
呵呵,那就是我想的答案。我不会在Dog类中添加任何内容,因为它在我的代码库中的许多不同位置被使用了数百次。现在查看适配器模式.... – sixtyfootersdude