[已解决] 编辑器自动生成代码的createInstance() 方法不管用

空项目, 使用了编辑器生成的代码, 然后
let comp= ui.pkgName.resName.createInstance();
fairygui.GRoot.inst.addChild(comp);

界面可以显示, 但是
comp.xxx.addClickListener(()=> {}, null); //xxx是导出控件的名字
就报错了.
看了源代码后发现应该是createInstance方法缺了userClass导致的.
 
默认生成的createInstance是这样的:
public static createInstance():UIClassName {
return <UIClassName><any>(fairygui.UIPackage.createObject("pkgName", "resName"));
}
我改成这样就可以了.
public static createInstance():UIClassName {
return <UIClassName>(fairygui.UIPackage.createObject("pkgName", "resName", UIClassName));
}




 
虽然修改项目模板也能解决生成代码的问题, 但是如果编辑器默认就是正确的那就更好了!
已邀请:

大马

赞同来自:

后来发现是没有调用bindAll导致的.
当时参考的是
http://www.fairygui.com/guide/egret/index.html
页面里的代码, 里面的示例没有调用bindAll.
但是后来重新翻看了之前的文档, 确有bindAll的说明.

要回复问题请先登录注册