这个我看了最近几个版本都是一样的。群里的大神给出的解决方案是在扩展类的时候注册下runtime.
不过今天我折腾了好久,感觉应该算引擎代码bug,按大神的设计是没必要去注册runtime的.
把我改过的代码给大神们参考下,希望能有点帮助
代码在laya.ui.js大约4580行左右。两个函数,都很短.
View.getCompInstance=function(json){
var runtime=json.props ? json.props.runtime :"";
var compClass=runtime ? (View.viewClassMap[runtime] || ClassUtils.getRegClass(runtime)):View.uiClassMap[json.type];
return compClass ? new compClass():null;
}
View.regComponent=function(key,compClass){
View.viewClassMap[key]=compClass;
ClassUtils.regClass(key,compClass);
}
第一个函数把我把Laya["__classmap"][runtime]改成了ClassUtils.getRegClass(runtime),因为这个Laya[]总是返回undefined
第二个函数我把View.uiClassMap[key]改成了View.viewClassMap[key],这个我不确定能否这样做,不过这个不改也能跑了。
改完后跑起来似乎正常了。
俺不了解设计,改的不一定对,只能供大神参考了。