javascript - Kuinka määritellä funktio rajapinnassa Angularissa?
Minulla on seuraava ongelma, johon en löytänyt toimivaa ratkaisua. Minulla on rajapinta Angular-sovelluksessani:
export interface Person {
forename: string;
surname: string;
}
Miten minun pitäisi määritellä funktio nimeltä getFullName() seuraavalla toteutuksella:
getFullName(){
return this.forename + " " + this.surname;
}
Yritin sitä suoraan käyttöliittymässä funktion kanssa avaimena, mutta se ei toiminut...
Vastaus #1
Voit käyttää funktio-allekirjoitusta () => string edustamaan funktiota, joka ei ota argumentteja ja palauttaa merkkijonon.
export interface Person {
forename: string;
surname: string;
getFullName: () => string;
}
Et voi kuitenkaan määritellä toteutusta rajapinnassa.
Luoaksesi luokan, joka toteuttaa rajapinnan, voit tehdä seuraavasti:
class MyPerson implements Person {
constructor(public forename: string, public surname: string) { }
getFullName() {
return this.forename + " " + this.surname;
}
}
Sinun ei mahdollisesti tarvitse käyttää rajapintaa Person tässä tapauksessa - sen sijaan voisit vain käyttää luokkaa.
