Egret社区

[Egret Engine] 根据类名去获得类 获得的类不对

2016-8-12 17:32
543328
aknight  炉火纯青 | 2016-8-12 20:44:37
yjtx 发表于 2016-8-12 20:01
我这边看到的是2 不同的类啊,我看代码也刚好是这2个呀

不好意思 ,卡着了
yjtx  官方团队 | 2016-8-15 09:20:19
aknight 发表于 2016-8-12 20:44
不好意思 ,卡着了

page = this.panels[disClass];  问题出现在这句,js 里是无法将 Object 作为 Array 的 key。这句在 publish 的时候会导致获取到的是一个函数。
aknight  炉火纯青 | 2016-8-15 09:42:02
yjtx 发表于 2016-8-15 09:20
page = this.panels[disClass];  问题出现在这句,js 里是无法将 Object 作为 Array 的 key。这句在 publ ...

那要怎么才能达到这个效果呢
aknight  炉火纯青 | 2016-8-15 09:42:36
yjtx 发表于 2016-8-15 09:20
page = this.panels[disClass];  问题出现在这句,js 里是无法将 Object 作为 Array 的 key。这句在 publ ...

而且为什么本地可以 一发布到线上就不行了
yjtx  官方团队 | 2016-8-15 09:57:06
aknight 发表于 2016-8-15 09:42
那要怎么才能达到这个效果呢

传字符串也是可以的,或者直接根据类定义获取类名传,总之不能直接将类定义作为key使用
aknight  炉火纯青 | 2016-8-15 10:39:39
yjtx 发表于 2016-8-15 09:57
传字符串也是可以的,或者直接根据类定义获取类名传,总之不能直接将类定义作为key使用 ...

哦哦,那怎么根据类定义获取类名呢
yjtx  官方团队 | 2016-8-15 10:50:38
aknight 发表于 2016-8-15 10:39
哦哦,那怎么根据类定义获取类名呢

egret.log(egret.getQualifiedClassName(view));  这句传 disClass 就是了。
aknight  炉火纯青 | 2016-8-15 11:03:16
yjtx 发表于 2016-8-15 10:50
egret.log(egret.getQualifiedClassName(view));  这句传 disClass 就是了。

好吧,我知道了。 我还有个疑问,就是为啥本地可以 发布之后就不行了呢
yjtx  官方团队 | 2016-8-15 11:17:09
aknight 发表于 2016-8-15 11:03
好吧,我知道了。 我还有个疑问,就是为啥本地可以 发布之后就不行了呢  ...

和压缩的方式有关,你对比下生成的js构造函数就知道了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部