在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没有运行?
答案 0 :(得分:1)
未调用侦听器的原因是YUI正在尝试优化init
事件,因为在创建Y.Base
的大量实例时它太昂贵了。 init
事件通常负责调用所有初始值设定项。但是当没有侦听器时,直接调用初始化函数而不触发init
事件。由于您在初始化程序中添加了一个侦听器,因此YUI假定该事件没有侦听器,并且不会触发它。
我建议您直接在初始化程序中执行您在侦听器中执行的操作,或者从类构造函数中向事件添加侦听器。