第一步:声明静态私有事件变量(大写)
package game.event
{
public class MainEvent{
public static const RETURN_SETTING:String = "return_setting";
}
}
第二步:控制层(或者业务层)派发事件(event)
import game.event.MainEvent;
import laya.events.EventDispatcher;
···
public class MainController extends EventDispatcher
{
static private var instance:MainController;
static public function get Instance():MainController
{
if(instance == null){
instance = new MainController();
}
return instance;
}
。。。
//派发事件
this.event(MainEvent.RETURN_SETTING);
}
注意派发的对象是MainController
instance -> 单例模式了解:https://www.jianshu.com/p/018cb4e4565c
第三步:视图层绑定监听事件(on)
MainController.instance.on(MainEvent.RETURN_SETTING,this,onCloseAdvVideo);
第四步:视图层解绑监听事件(off)
MainController.instance.off(MainEvent.RETURN_SETTING,this,onCloseAdvVideo);
网友评论