javascript - Skapa egenskap inuti konstruktor med Typescript
Jag har en javascriptkod som fungerar perfekt:
class myController {
constructor () {
this.language = 'english'
}
}
MEN när jag försöker göra samma sak med Typescript
export default class myController {
constructor () {
this.language = 'english'
}
}
Det ger mig följande fel:
Egenskapen 'language' finns inte på typen 'myController'.ts(2339)
Varför händer exakt detta när man försöker skapa en egenskap för myController?
Vad skulle vara rätt sätt att göra det på?
Svar #1
Eftersom du försöker sätta en egenskap som inte finns i klassen som det står, deklarera den någonstans i klassen innan du försöker sätta den, till exempel:
export default class myController {
private language: string;
constructor () {
this.language = 'english'
}
}
Svar #2
Det måste deklareras som en egenskap på typen (vanligtvis före konstruktorn):
export default class myController {
language: string;
constructor () {
this.language = 'english'
}
}
