这些是同一个应用程序下的第一个脚本正在申请中,第二个脚本在dataGrid下。从第一个脚本到outerClick()我正在访问itemrenderer中的inner()函数。那么我可以通过outerDocument对象轻松地从innerClick()访问函数outer(),但是可以使用what_to_use从outerClick()函数访问itemrenderer中的inner()函数。我尝试过使用mx:component id“”和class =“”,但它无法识别itemrenderer下的函数。如果我们可以通过使用“outerdocument”对象从渲染项目访问外部函数,那么我们不能从外部访问内部函数。
<mx:Script>
<![CDATA[
public function outer():void{
Alert.show("Hi i am outer object");
}
public function outerClick():void{
what_to_use.inner();
}
]]>
</mx:Script>
以下项目在数据网格下呈现。
<s:itemRenderer>
<mx:Component>
<s:GridItemRenderer>
<fx:Script>
<![CDATA[
public function innerClick():void{
outerDocument.outer();
}
public function inner():void{
Alert.show("Hi i am inner");
}
]]>
</fx:Script>
<s:CheckBox id="sel" selected="{data.checked=sel.selected}" change="{data.checked}" click="innerClick()"/>
</s:GridItemRenderer>
</mx:Component>
</s:itemRenderer>
我终于通过派发一个事件来实现它。感谢您解释这个概念。它清除了我的一些误解...... –