Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript http get期间Angular 2运行接口_Javascript_Angular - Fatal编程技术网

Javascript http get期间Angular 2运行接口

Javascript http get期间Angular 2运行接口,javascript,angular,Javascript,Angular,我已经研究了如何从HTTPGET导入json对象,并通过*ngFor列出结果 我无法解决的是如何针对它运行接口。我的界面文件在这里: import {Offer} from './offer'; 这里有我的http get请求: constructor(private _httpService: HTTPTestService) { } offers: ""; onTestGet() { this._httpService.getOffers() .subscrib

我已经研究了如何从HTTPGET导入json对象,并通过*ngFor列出结果

我无法解决的是如何针对它运行接口。我的界面文件在这里:

import {Offer} from './offer';
这里有我的http get请求:

constructor(private _httpService: HTTPTestService) { }

offers: "";

onTestGet() {
    this._httpService.getOffers()
        .subscribe(
        data => { this.offers = data.offers; },
    error => alert(error),
    () => console.log("Finished")
    );
}

但是,我如何运行“Offer”接口,使其越过我返回的对象呢?

您需要小心使用TypeScript中的接口。接口仅用于设计和类型检查,但在运行时不存在

您可以为优惠定义一个
Offer
数组,并将收到的数据转换为
Offer[]
。但每个元素的类型不是
Offer
。这允许在编译期间检查对象的结构

以下是一个示例:

constructor(private _httpService: HTTPTestService) { }

offers: Offer[]; // <----

onTestGet() {
  this._httpService.getOffers()
    .subscribe(
      data => { this.offers = <Offer[]>data.offers; }, // <----
      error => alert(error),
      () => console.log("Finished")
    );
}
constructor(私有的_-httpService:HTTPTestService){}
优惠:优惠[];//{this.offers=data.offers;},//警报(错误),
()=>console.log(“完成”)
);
}

您所说的“针对它运行接口”到底是什么意思?你是说自动完成?然后a
提供:Array=[]就足够了。哦,我想我可能会糊涂了。我看到的从数组中获取数据的示例使用接口。但我只是列出结果而已。没有表格什么的。我需要在获取json对象时处理接口吗?不,根本不需要!仅当您需要自动完成对象时。啊,非常感谢:)在处理表单时自动完成?不,在编程时在代码中!:)啊,好的,那么你需要申报两次吗?我在理解接口方面遇到了问题。我为什么需要它们?这仅仅是为了在编写代码时向我显示错误吗?我可以不使用它们构建整个项目吗?不,这不是强制性的。如果需要,可以在TypeScript中使用类似JS的代码。话虽如此,类型检查确实是TypeScript的一个有趣特性,因此我建议使用它;-)为了回答您的问题,接口仅在设计时间/编译时使用。这将防止您在运行时出现问题。。。