如何从另一个类访问函数

时间:2016-05-09 06:28:44

标签: typescript

我有两节课。用户和消息类。

在我的app.ts中,我有一个包含4个用户的数组,

let users: IUser[] = [
    new User({ id: 1, name: 'Jon Snow', status: Status.user }),
    new User({ id: 2, name: 'Arya Star', status: Status.user }),
    new User({ id: 3, name: 'Sansa Stark', status: Status.user }),
    new User({ id: 4, name: 'Joffrey Baretheon', status: Status.user })
]

我想将该数组传递给我的User类,以便在函数中使用它:

allUsers(users: IUser[]) {
    console.log(users);
}

但要做到这一点,我必须在app.ts中创建一个User类的新实例:

let something = new User({ id: null, name: null, status: null });
something.allUsers(users);

但是现在我只是为了访问该函数而创建一个空实例。难道没有更好的方法来访问类中的函数吗?

1 个答案:

答案 0 :(得分:2)

  

something.allUsers

如果你有一个类的成员函数。你需要一个实例。

也许您打算制作静态功能:

class User {    
    private static created: User[] = [];
    static allUsers() {
        return User.created;
    }

    constructor(){
        User.created.push(this);
    }
}

new User();
new User();
console.log(User.allUsers()); // prints array of length 2

更多

https://basarat.gitbooks.io/typescript/content/docs/classes.html