2016-10-24 8 views
0

Ich brauche Hilfe über Schnittstellen in Typoskript
mit Schnittstellen auf Typoskript

Ich habe 3-Schnittstelle:

export interface HomeMenu { 
    [name: string]: MenuItem; 
} 

export interface MenuItem { 
    title: string; 
    route: string; 
    homeMenu?: HomeMenu; 
} 

export interface Menu { 
    homeMenu: HomeMenu; 
} 

Jetzt mache ich das:

var json: Menu = { 
    "homeMenu": { 
     "aname1": { 
      "title": "text", 
      "route": "myroute" 
     }, 
     "aname2": { 
      "title": "text", 
      "route": "myroute", 
      "homeMenu": { 
       "aname21": { 
        "title": "text", 
        "route": "myroute" 
       }, 
       "aname22": { 
        "title": "text", 
        "route": "myroute" 
       } 
      } 
     }, 
     "aname3": { 
      "title": "text", 
      "route": "myroute" 
     } 
    } 
} 
json.homeMenu["aname2"].title = "myTitle"; 

Aber jetzt, wie ich kann ein neues Element in das HomeMenu schieben? Ich habe versucht, die HomeMenu-Schnittstellen mit Array zu erweitern, aber ich habe einen Fehler über die Index-Signatur, Array möchte eine Nummer für Index (Name) und keine Zeichenfolge
Ich habe die Typoskript überprüft, einige Post und ich habe keine Antwort gefunden Oder vielleicht eine andere Lösung, um eine Push-Funktion auf HomeMenu-Objekt zu haben? Wenn mir jemand Vielen Dank im Voraus helfen kann

Antwort

0

Wie wäre:

json.homeMenu["aname4"] = { 
    title: "title 4", 
    route: "route4" 
}; 
+0

Dank ist es funktioniert! – zozourban

Verwandte Themen