2014-01-21 58 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 

} 
相关问题