我有这两个代码片段,我该如何更改它们,以便 MemberModel 可以作为泛型类型传入并保持可实例化,以便我可以将 follow 方法提取到它自己的导出函数中?
export interface IFollowable {
follow(user: IUserModel): IMemberModel;
}
export class CardModel implements ICardModel, IFollowable {
public follow(user: IUserModel): IMemberModel {
let member = new MemberModel({userId: user.id});
member.role = UserRoles.follower;
this.members.push(member);
return member;
}
}
我如何使 follow 和 IFollowable 通用,以便我传入的任何类型仍然像 MemberModel 现在一样是新的?