2017-10-26 1 views
0

Ich habe Typoskript gerade erst begonnen und ich möchte wissen, wie eine Schnittstelle für diese Art von Objekt zu deklarieren:Typescript-Objektmuster?

const branch = { 
    'CN': { 
    'name': 'CN Name', 
    'branch': 'Chinoise', 
    'url': 'CN URL' 
    }, 
    'DE': { 
    'name': 'DE Name', 
    'branch': 'Allemande', 
    'discord': 'DE Discord', 
    'url': 'DE URL' 
    }, 
    'EN': { 
    'name': 'EN Name', 
    'branch': 'Anglaise', 
    'url': 'EN URL' 
    }, 
    [...] 
} 

Wie Sie sehen können, habe ich diese Schnittstelle erhalten hat:

interface Branch { 
    name: string, 
    branch: string, 
    discord?: string, 
    url: string 
} 

Wiederholte mehrmals im obigen Code. Also wollte ich wissen, ob es möglich war, zu TypeScript zu sagen: "Hey, das Branch-Objekt enthält diese Schnittstelle, die viele Male wiederholt wird".

Danke!

Antwort

2

Sie können es wie folgt tun:

const branch: {[key: string]: Branch} = ...; 

Was bedeutet, dass der Verzweigungsvariable ist ein Objekt, deren Schlüssel vom Typ String und Werte sind vom Typ Branch;

Offizielle Dokumente für Index Unterschriften: https://www.typescriptlang.org/docs/handbook/interfaces.html

+0

Es scheint zu funktionieren, aber ich habe nie die Syntax gesehen [key: string] vor. Hast du keinen Link dafür? – HelloEdit

+0

Die Antwort wurde aktualisiert. Scrollen Sie nach unten zu Indexarten – guramidev