2017-08-01 27 views
1

在我的打字稿的應用程序加載JSON文件後,我使用的接口,用於代碼完成在IDE中的JSON數據:如何在JScript數據的Typescript聲明文件中使用破折號?

interface Component { 
    name:string 
} 

這樣的作品,但JSON還包含有一個破折號屬性en-US。 ..這是不允許在一個接口...我怎麼能解決這個問題?

{ 
    "name" : "boink", 
    "en-US" : "hello there" 
} 

回答

1

您可以在報價屬性的界面就像裏面:

interface Component { 
    'en-US': string; 
} 

但是你應該知道,你有你想用它每次都選擇通過行情的性質:

let myComponent: Component = { 
    'en-US': 'hello there' 
} 
let translation = myComponent['en-US']; 
+0

謝謝,這是有效的。有沒有辦法讓這個屬性成爲可選的,就像'鎖定? :true',其中'locked'屬性是可選的。如果我使用?與''美國'? :string'它不起作用。 – Kokodoko

+1

對我來說''en-US'?'很好(使用打字稿2.4,2) – cyrix

相關問題