[]runtime运行报错!
今天根据教程设置runtime,发现怎么都会抛出异常,核对操作步骤,没发现什么问题。只好开始跟踪代码,发现laya.ui.js里代码如下:
View.getCompInstance=function(json){
var runtime=json.props ? json.props.runtime :"";
var compClass=runtime ? (View.viewClassMap[runtime] || Laya["__classmap"][runtime]):View.uiClassMap[json.type];
return compClass ? new compClass():null;
}
这第2句代码貌似不正常啊?改成下面的样子试试:
var compClass=(View.viewClassMap[runtime] || Laya["__classmap"][runtime])?runtime:View.uiClassMap[json.type];
改完一切正常.
汗了,是没人用这个runtime参数 还是我的laya.ui.js版本是错的?
不管怎样,先报下吧
我错了,貌似改错了,不过..................我的问题没解决...........
View.getCompInstance=function(json){
var runtime=json.props ? json.props.runtime :"";
var compClass=runtime ? (View.viewClassMap[runtime] || Laya["__classmap"][runtime]):View.uiClassMap[json.type];
return compClass ? new compClass():null;
}
这第2句代码貌似不正常啊?改成下面的样子试试:
var compClass=(View.viewClassMap[runtime] || Laya["__classmap"][runtime])?runtime:View.uiClassMap[json.type];
改完一切正常.
汗了,是没人用这个runtime参数 还是我的laya.ui.js版本是错的?
不管怎样,先报下吧
我错了,貌似改错了,不过..................我的问题没解决...........
没有找到相关结果
已邀请:
要回复问题请先登录
2 个回复
cuixueying
赞同来自: 小丶kiss
xxhhxxhh
赞同来自: 小丶kiss
不过今天我折腾了好久,感觉应该算引擎代码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],这个我不确定能否这样做,不过这个不改也能跑了。
改完后跑起来似乎正常了。
俺不了解设计,改的不一定对,只能供大神参考了。