在PB中,有多种方法可以触发事件,如:
1. event 事件名
2. post event 事件名
3. dymanic event 事件名
4. objectname.postevent(event)
5. objectname.dynamicevent(event)
1. event 事件名 //会把事件立即执行,事件中可以传递参数
2. post event 事件名 //会把事件放到消息队列的最后等待执行,事件中可以传递参数
3. dymanic event 事件名 //对于事件的承受对象是不确定的,比如说parent.dynamic event myevent() ,对于当前对象,它的parent是不确定的,所以不能直接写event的
东东,可以传递参数给事件
4. objectname.postevent(event) //把objectname的event放到消息队列的最后等待执行,不方便传参数给事件
5. objectname.dynamicevent(event)//执行objectname的event事件,objectname不是固定的对象,不方便传参数给事件
对于dynamic的使用有很多好处,比如在写一些通用组件的时候,如果对象为window,通用组件想触发window的一个自定义事件如myevent,如果当前定义的objectname是window类型的,则
可以写为objectname.dynamic event myevent(),如果是event就不可以,必须是已经存在的一个事件
转载于:https://blog.51cto.com/blogyy/753074