[英]Where do I put custom code in a custom component in Flash Builder?
在主文件中,我會寫:
<components:mybutton id="mybutton1" rollOver="point_rollOverHandler(event)" />
但是,如果我希望組件固有地具有該行為,那么該在哪里將其寫入mybutton mxml文件中以使其自身引用呢?
我嘗試了<s:rollOver="point_rollOverHandler(event)"/>
但是它抱怨元素類型必須后跟規范規范,>或/>
我的猜測是您的組件基於s:Button。 只需在組件主MXML節點中聲明rollOver方法,如下所示(第5行):
// myButton.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Button xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
rollOver="button1_rollOverHandler(event)"
>
<fx:Script>
<![CDATA[
protected function button1_rollOverHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
</s:Button>
在您的自定義組件的根標記中,添加屬性:
creationComplete="init()"
然后在自定義組件的script標簽中創建該函數並設置鼠標事件偵聽器:
function init():void{
this.addEventListener(MouseEvent.MOUSE_OVER, point_rollOverHandler)
}
但這將調用自定義組件中定義的point_rollOverHandler(e:MouseEvent)函數。 如果您要調用在其父項上定義的函數,那么擁有的是最好的方法。 否則,您可能會把組件捆綁得太緊,這會使您的代碼易碎且難以重用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.