jayrui612 2017-08-03 16:42:18 3765次浏览 0条评论 0 2 0

个人对yii2事件理解的观点
事件的主要运作方式就是 绑定、触发、处理
就好比js中的事件 你点击一个标签触发alert事件
首先你要绑定click
然后你必须要去点击来触发
点击以后来处理alert这样的一系列操作
假设你定义了三个类
一个触发类
一个处理类
一个绑定类
1.绑定 在绑定的类中

   $bind = new BindController();//触发的类
    $chufa = new ChufaController();//处理的类
    //好比js中的绑定click  onchage就是事件的名称的 并且绑定和处理类下的showmessage方法
    $bind->on('onchage',[$chufa,'showmessage']);
   //触发的导火索
    $bind->width = 250;
    var_dump(111);exit;

2、触发 在触发的类中

//定义个成员变量

private $width;
//当给成员变量赋值时触发yii的赋值属性
public function setWidth($width)
{
    //判断有没有onchage的事件
    if($this->hasEventHandlers('onchage')){
        //触发onchage事件
        $this->trigger('onchage');
    }
    $this->width = $width;
}

3.处理 在处理的类中

public  function Showmessage()
{
    echo"jayrui612";
}

这样

    $bind->width = 250;

就引发的onchage的事件了

觉得很赞
    没有找到数据。
您需要登录后才可以评论。登录 | 立即注册