如何在YUI 3.11中监听视图的'after init'事件

时间:2013-07-24 13:33:16

标签: events yui

在YUI视图中,我有以下方法:

    initializer: function () {            
        this.after('init', this.onInitComplete, this);                        
    },

    onInitComplete: function (e) {
        console.log('onInitComplete');
        var list = this.checkGroupList = new CheckGroupList();

        var group1 = new Y.CheckGroupModel();            
        var group2 = new Y.CheckGroupModel();            
        var group3 = new Y.CheckGroupModel();            

        list.add(group1);
        list.add(group2);
        list.add(group3);            
        this.reset();
    },

为什么onInitComplete没有运行?

1 个答案:

答案 0 :(得分:1)

未调用侦听器的原因是YUI正在尝试优化init事件,因为在创建Y.Base的大量实例时它太昂贵了。 init事件通常负责调用所有初始值设定项。但是当没有侦听器时,直接调用初始化函数而不触发init事件。由于您在初始化程序中添加了一个侦听器,因此YUI假定该事件没有侦听器,并且不会触发它。

我建议您直接在初始化程序中执行您在侦听器中执行的操作,或者从类构造函数中向事件添加侦听器。