2016-10-24 104 views
0

與接口推項目,我需要有關打字稿
上打字稿

接口一些幫助,我有3個接口:

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

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

export interface Menu { 
    homeMenu: HomeMenu; 
} 

現在我做到這一點:

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"; 

但是現在我如何可以在HomeMenu中推送一個新項目?我試圖擴展HomeMenu接口與數組,但我有一個關於索引簽名的錯誤,數組想要一個索引(名稱)的數字,而不是一個字符串
我已經檢查了Typescript,一些帖子,我還沒有找到答案 或者可能是另一種解決方案,在homeMenu對象上具有推送功能? 如果有人能幫助我 在此先感謝

回答

0

如何:

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

由於它的作品! – zozourban