Yii分析2:组件的事件机制
?
组件事件是一些特殊的属性,它们使用一些称作 事件句柄 (event handlers)的方法作为其值。 附加(分配)一个方法到一个事件将会引起方法在事件被唤起处自动被调用。因此,一个组件的行为可能会被一种在部件开发过程中不可预见的方式修改。
如果我们现在调用 onClicked(),onClicked 事件将被触发(在onClicked() 中),附属的事件句柄将被自动调用。
?
?
?
?
由此可以看出,首先获取事件处理器对象,如果没有则使用CList(Yii实现的一个链表)创建,然后将事件处理器add进这个对象中,这样就可以在raiseEvent时遍历所有的事件处理器进行处理了,有点儿类似jQuery中注册了多个click事件处理器之后,当click事件触发时,会按顺序调用之前注册的事件处理器。
1 楼 z.y.f 2011-02-23 男人,原来你在这里,你是在这里么?这里是你的主博客么? 2 楼 silentime 2011-02-23 z.y.f 写道男人,原来你在这里,你是在这里么?这里是你的主博客么?目前算是吧,原来用新浪,但是新浪的代码引用太烂了,刚改不久 3 楼 silentime 2011-02-23 呃,发现又一堆的格式代码,javaeye的富文本编辑器也不给力啊