2014-01-21 94 views
3

我有以下形式什麼類型給一個JSON對象

using (Ajax.BeginRouteForm(
    ... 
       new AjaxOptions 
       { 
        HttpMethod = "POST", 
        OnFailure = "OnFailure", 
        OnSuccess = "OnSuccess" 
       })) 
      { 
       ..,. 
      } 

我實現一個打字稿文件OnSuccess功能。我試圖讓這個函數更多的TypeScripty。目前,我有這個

function OnSuccess(data: what type goes here?) { 
... 
// use data.SomeValue here 
... 
} 

的問題是我應該說什麼類型的數據是這樣的,但我還是能以某種方式使用data.SomeValue?

回答

1

您可以使用any類型:

function OnSuccess(data: any) { 
    ... 
    // use data.SomeValue here 
    ... 
} 
+0

但是,這與根本不使用任何參數相同。我想要更具體些。 –

+1

如果你不知道類型,你怎麼能更具體?或者如果你這樣做,只需定義它並使用它。 –

+0

問題是,是否有某種方式可以說「這是一個帶有x,y和z屬性的JSON對象」? –

3

最好的辦法是用一個接口,因爲你使物體的結構的明確斷言回來,很清楚的回調所期待的溝通。

export interface IOnSuccessArgs { 
    propertyA: string; 
    propertyB: number; 
} 


function OnSuccess(data: IOnSuccessArgs): void { 
    // ... data has propertyA and propertyB 

} 
相關問題