如何在Angular的接口中定义一个函数?

How to define a function in an interface in Angular?

我有以下问题,但我没有找到有效的解决方案。 我的 Angular 应用程序中有一个接口:

export interface Person {
    forename: string;
    surname: string;
}

如何使用以下实现定义名为 getFullName() 的函数:

getFullName(){
  return this.forename + " " + this.surname;
}

我直接在界面里用function作为key试了一下,没用...

您可以使用函数签名 () => string 来表示接受 0 个参数和 returns 字符串的函数。

export interface Person {
    forename: string;
    surname: string;
    getFullName: () => string;
}

虽然您不能在接口中定义实现。

要创建实现接口的 class,您可以执行以下操作:

class MyPerson implements Person {
  constructor(public forename: string, public surname: string) { }
 
  getFullName() {
    return this.forename + " " + this.surname;
  } 
}

在这种情况下,您可能不需要接口 Person - 相反,您可以只使用 class.