これが役立つことを願っています。
includes.as - インクルードファイル
// ActionScript file
public function includedFunction(item:Object):String{
var data = parentFunction(item); //call function from parent mxml
return data;
}
AS3 方式 (バインド不可)
<fx:Script>
<![CDATA[
include "includes.as";
public function parentFunction(data:Object):String{
return "Hello From Main MXML";
}
]]>
</fx:Script>
<s:DataGrid dataProvider="{new ArrayCollection(new Array(1,2,3))}">
<s:columns>
<s:ArrayList>
<s:GridColumn>
<s:itemRenderer>
<fx:Component>
<s:GridItemRenderer>
<s:Label text="{outerDocument['includedFunction'].call(null, new Array(data))}"/>
</s:GridItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>
適切な方法
<fx:Script source="includes.as" />
<fx:Script>
<![CDATA[
public function parentFunction(data:Object):String{
return "Hello From Main MXML";
}
]]>
</fx:Script>
<s:DataGrid dataProvider="{new ArrayCollection(new Array(1,2,3))}">
<s:columns>
<s:ArrayList>
<s:GridColumn>
<s:itemRenderer>
<fx:Component>
<s:GridItemRenderer>
<s:Label text="{outerDocument.includedFunction(data)}"/>
</s:GridItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>