Javascript 财产';用户索引';不存在于类型';用户APIController的类型';尝试访问TypeScript中的静态方法时

Javascript 财产';用户索引';不存在于类型';用户APIController的类型';尝试访问TypeScript中的静态方法时,javascript,typescript,Javascript,Typescript,我是TypeScript的新手,尝试调用类上的函数 在文件A中: import userAPIController from "./controllers/customer/userAPIController"; userAPIController.users_index(); 在文件B中: export default class UserApiController { public users_index(): void { User.findAll({

我是TypeScript的新手,尝试调用类上的函数

在文件A中:

import userAPIController from "./controllers/customer/userAPIController";

userAPIController.users_index();
在文件B中:

export default class UserApiController {

    public users_index(): void {
        User.findAll({
            attributes: ["given_name", "family_name"]
        }).success(function (users: any) {
            console.log(users);
        });
}
我得到一个错误:

Property 'users_index' does not exist on type 'typeof UserApiController'
我还尝试添加一个接口:

interface userAPIController {
    users_index: any;
}
没有运气


我做错了什么?

UsersApiController
是一个类,因此您需要先实例化它,然后才能调用它的方法:

const controller=new usersApiController();
controller.users_index();

您可以在此处阅读有关使用类的更多信息:

您编写的函数不是静态方法,而是实例方法。如果希望它是静态的,请将其更改为:

static users_index = (): void => {
 // content omitted
}
有关静态属性的详细信息

或者,如果它是一个实例方法是正确的,请在尝试访问它之前,使用
new
操作符创建一个实例:

const controller = new UserApiController();
controller.users_index();

没有方法调用静态方法吗?如果该方法是静态的,则是。您必须将其定义为
静态用户索引(…){…}
。噢,谢谢。当我在谷歌上搜索如何在TypeScript中调用静态方法时,我在文档中没有看到这一点。我很抱歉。我投票结束这个问题,因为它是一个简单的文档问题