亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如下內容,請問如何實現的,請教?

如下內容,請問如何實現的,請教?

小怪獸愛吃肉 2022-08-06 07:03:20
Application下有兩個組件A和B,A組件下有一個click事件,并對應有一個函數處理該事件。B組件有兩個狀態,我的目的是通過A的事件出發B狀態的改變。要求寫出實現方法,最好用代碼舉例的方式,在這里先謝謝大家了!這個函數是在A中么?改變B的狀態 如果用currentState='',但是是b的狀態應該用什么格式啊?
查看完整描述

2 回答

?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

如果我是樓主會把B狀態的改變寫成一個public 的方法,把a組件下的click事件也寫成方法,把鼠標偵聽全放進application,或者單獨拿一類。
回到話題,你的事情可以用2次事件發送解決。新開一個自定義事件類:
1 package {
2 import flash.events.Event;
3 public class myEvent extends Event {
4 public static const CLIPA_CLICK:String="clipa_click";
public static const CLIPA_CLICKTOB:String="clipa_clicktob";
6 public function myEvent() {
7 super(CLIPA_CLICK);
8 }
15 }
16 }

a,application,b中都要導入myEvent

a類中click回調函數中加 this.dispatchEvent(new myEvent(CLIPA_CLICK));

在application類的構造函數或構造函數引用的方法中加
a.addEventListener(myEvent.CLIPA_CLICK,sentToB);
然后加個方法,注意b要是最上面聲明的,不能在函數內聲明
private function sentToB(e:myEvent):void {
b.dispatchEvent(new myEvent(CLIPA_CLICKTOB));
}
在b類中加 this.addEventListener(myEvent.CLIPA_CLICKTOB,callBackFunc);
---其中 callBackFunc就是你要執行的狀態改變了。


查看完整回答
反對 回復 2022-08-08
?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

你這個問題是flex相當基本的問題!

查看完整回答
反對 回復 2022-08-08
  • 2 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號