Javascript Reactjs访问类方法在类外部但在同一文件中
我有这段代码,希望访问AssetMap数组中类之外的类方法Javascript Reactjs访问类方法在类外部但在同一文件中,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我有这段代码,希望访问AssetMap数组中类之外的类方法 import OrientationEnum from "../enums/orientation_enum"; import * as gameconfig from "../gameconfig"; import GA from "./analytics"; import * as Raven from "raven-js"; import {getQueryString} from "./tools"; const Assets
import OrientationEnum from "../enums/orientation_enum";
import * as gameconfig from "../gameconfig";
import GA from "./analytics";
import * as Raven from "raven-js";
import {getQueryString} from "./tools";
const AssetsMap = new Map([
[AssetsEnum.background, 'common/background.jpg']
]);
class AssetsManager {
constructor...
getConfigValue(key, defaultValue) { ... }
}
如果我尝试访问map数组中的getConfigValue
方法
[AssetsEnum.background, 'common/background'+this.getConfigValue()+'.jpg']
控制台抛出未定义getConfigValue的错误。我应该如何访问该方法?您不能使用
this
关键字在类外访问getConfigValue()
方法。尝试将映射放在类中。要能够访问类方法,需要有对类实例的引用。例如
从“./enum/orientation\u enum”导入方向;
将*作为gameconfig从“./gameconfig”导入;
从“/analytics”导入GA;
从“Raven js”导入*作为Raven;
从“/tools”导入{getQueryString};
类别资产经理{
构造器。。。
getConfigValue(键,默认值){…}
}
const manager=新资产管理器();
const AssetsMap=新映射([
[AssetsEnum.background,'common/background'+manager.getConfigValue()+'.jpg']
]);
如果getConfigValue
方法不使用AssetManager类中的属性,您还可以使该方法成为静态的
。这样就可以在没有类实例的情况下使用此方法
从“./enum/orientation\u enum”导入方向;
将*作为gameconfig从“./gameconfig”导入;
从“/analytics”导入GA;
从“Raven js”导入*作为Raven;
从“/tools”导入{getQueryString};
const AssetsMap=新映射([
[AssetsEnum.background,'common/background'+AssetManager.getConfigValue()+'.jpg']
]);
类别资产经理{
构造器。。。
静态getConfigValue(键,默认值){…}
}
为什么不在构造函数中声明AssetsMap
呢?我发现AssetsManager不是构造函数
在尝试使用const manager=new AssetsManager()创建对象时出错代码>是在实例化类的位置定义或导入的AssetManager
?