Angular 2数据模型继承

时间:2017-03-07 23:41:54

标签: c# angularjs angular asp.net-web-api

我在angular2和asp.net核心项目中进行了以下设置:

我有一个c#.net核心api,它返回这个类:

public class fighter
{
  public int id { get; set; }
  public string name { get; set; }
  public datetime birthdate { get; set; }
  public string score { get; set; }
}


public class fight
{
  public int id { get; set }
  public fighter host { get; set }
  public fighter guest { get; set }
  public string venue { get; set }
}

在我的fighter.component.ts文件中,我有这个代码将api响应绑定到实际页面:

interface Fighter {
  id: number;
  name: string;
  birthdate: string;
  score: string;
}

如何将我的fight()类绑定到fight.component.ts? 组件之间没有主 - 细节关系,我只是不想显示所有"战斗" api回来了。

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解你的问题,但是如果你所追求的是你正在为你的API获得的模型的强大类型或合同,那么你可以为你的Fight类提供以下界面。

interface Fight {
    id: number;
    host: Fighter;
    guest: Fighter;
    venue: string;
}
export default Fight;

现在,根据您的评论,我认为这里的问题是您不知道如何将实际类型从一个文件导入到另一个文件。声明界面时,需要将其导出。因此,假设您的Fighter界面位于名为IFighter.ts的文件中。该文件看起来像。

interface Fighter {
  id: number;
  name: string;
  birthdate: string;
  score: string;
}

export default Fighter; <= Note

然后导入此接口以在另一个文件中使用

// fight.component.ts
import Fighter from 'relative/path/to/IFighter/file';
import Fight from 'relative/path/to/IFight/file';

// Do mappings.

您可能希望在Javascript模块上阅读一下,希望这可以澄清一些事情吗?