1

在 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 没有运行?

4

1 回答 1

1

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

我建议您直接在初始化程序中执行您在侦听器中所做的事情,或者从类构造函数中为事件添加一个侦听器。

于 2013-07-24T14:23:05.493 回答