繁体   English   中英

尝试访问 TypeScript 中的静态方法时,类型“typeof UserApiController”上不存在属性“users_index”

[英]Property 'users_index' does not exist on type 'typeof UserApiController' when trying to access static method in TypeScript

我是 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();

您可以在此处阅读有关使用类的更多信息: https : //www.typescriptlang.org/docs/handbook/classes.html

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

static users_index = (): void => {
 // content omitted
}

有关静态属性的更多信息, 请参阅此页面

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM