我有以下类型的脚本,当我尝试调用Player()
方法时,我收到错误消息,说它不存在。
未捕获的TypeError:GameSmart.User.Player不是函数
namespace GameSmart {
export class User {
public Player(): void {
fetch(Config.domain + '/user/player').then(response => {
// Do some stuff
});
}
}
}
如果我console.log(GameSmart)
我得到一个带有User
对象的对象,并且在该对象中它不存在,但是如果我在GameSmart.User.prototype
对象中查看它确实显示那里。为什么不在GameSmart.User
对象中,我怎么能在那里得到它?
答案 0 :(得分:1)
您需要创建User
的实例才能使用其方法:
let user = new GameSmart.User();
user.Player();
如果您不想要,那么也将类更改为命名空间:
namespace GameSmart {
export namespace User {
public Player(): void {
fetch(Config.domain + '/user/player').then(response => {
// Do some stuff
});
}
}
}
然后它应该工作:
GameSmart.User.Player();
或者@ DanielA.White在评论中写道,将其静态化:
namespace GameSmart {
export class User {
public static Player(): void {
fetch(Config.domain + '/user/player').then(response => {
// Do some stuff
});
}
}
}
GameSmart.User.Player();