将一个打字稿界面添加到Angular

时间:2018-06-18 18:42:20

标签: angular typescript interface

我正在学习角度和最佳练习我想我需要在输出中添加一个接口。服务DataFetchService正在从内部.json文件中获取对象。实现此代码的接口的最佳方法是什么?关于这个问题的任何资源都更受欢迎

import { Component, OnInit } from '@angular/core';
import { DataFetchService } from '../userActions';

interface getDataInterface {
  name: string;
  surename: string;
  }

@Component({
  selector: 'app-data-from-server',
  templateUrl: './data-from-server.component.html',
  styleUrls: ['./data-from-server.component.css']
})
export class DataFromServerComponent implements OnInit {

  users$: Object;

  constructor(private data: DataFetchService) { }

  ngOnInit() {
    this.data.getData().subscribe(
      data => this.users$ = data
    )
  }
}

1 个答案:

答案 0 :(得分:1)

为了非常清楚,在已编译的JS中,接口。如果你需要它,那么你需要一个abstract类。

那说在这种情况下接口的目的是提供类型安全性,所以你应该强力输入数据:

users$: getDataInterface; //Could be getDataInterface[] based on the names...
constructor(private data: DataFetchService) { }

ngOnInit() {
this.data.getData().subscribe(
  (data: getDataInterface) => this.users$ = data
  )
}

撇开;类和接口通常在TypeScript中使用PascalCase,因此您的接口应该是GetInterfaceData