如图

window[“xxx”]=xxx
你可以这样标识下。
// @ts-ignore
cc['Network'] = Network
1赞
可以理解为 cc.Network
有尝试过,会爆红, 网上有人说(《any》window)[‘xxx’] = xxx 这样子虽然不爆红了。 但是这个方法被我引用的时候,仍然会有错误。 比如扩展Label Spine Sprite组件的时候。 3.1挂载出错。之前的版本都是有cc的。按”火焰库拉“的说法是没错的。
谢谢,确实可以去掉爆红。 但是扩展组件, 用到这个类就出错。也没啥提示。 现在的办法就是,先去掉这种全局的方式先了。
像这种全局的,为什么不试试 单例 模式呢?
你说的也是可以的。 只是我在将老的项目升级,碰到这块,原来是可以通过截图那种方式,做全局对象的。现在没了。所以在想应该怎样书写。别的实现的方式还是有的
cc[‘Network’] 是直接使用么,要是直接使用,是不是应该写成这样?
cc[‘Network’] = new Network();
需要先声明一个全局的 cc 吧?
if (!window['cc']) {
window['cc'] = {};
}
cc['Network'] = Network;
已经 import * as cc from ‘cc’; 没用。 只是语法不爆红而已。
不是 是类结尾处 用这种方式 申明为全局模式,我2.4.3版本是ok的。 只是升级3.1后, 因为没了cc, 就不知道怎么写。 如果我又强制把cc导入进来。 一来看起来别扭, 再来就是,好像不能使用。