【问题标题】:What type to give a JSON object给 JSON 对象提供什么类型
【发布时间】:2014-01-21 15:24:30
【问题描述】:

我有以下表格

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

我在 TypeScript 文件中实现了 OnSuccess 函数。我正在尝试使此功能更加 TypeScripty。目前我有这个

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

问题是我应该说什么类型的数据才能让我仍然可以以某种方式使用 data.SomeValue?

【问题讨论】:

    标签: c# jquery ajax typescript asp.net-mvc-5


    【解决方案1】:

    最好的方法是使用接口,因为您可以明确声明返回的对象的结构,并非常清楚地传达回调的预期内容。

    export interface IOnSuccessArgs {
        propertyA: string;
        propertyB: number;
    }
    
    
    function OnSuccess(data: IOnSuccessArgs): void {
       // ... data has propertyA and propertyB
    
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用any 类型:

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

      【讨论】:

      • 但这和根本不使用任何参数是一样的。我想更具体一点。
      • 如果您不知道类型,如何更具体?或者,如果您这样做,只需定义它并使用它。
      • 问题是,有没有办法说“这是一个具有 x、y 和 z 属性的 JSON 对象”?
      • 是的,您可以声明一个包含所需属性的类。
      猜你喜欢
      • 2014-03-24
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-30
      • 1970-01-01
      相关资源
      最近更新 更多