Javascript http get期间Angular 2运行接口
我已经研究了如何从HTTPGET导入json对象,并通过*ngFor列出结果 我无法解决的是如何针对它运行接口。我的界面文件在这里: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
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的一个有趣特性,因此我建议使用它;-)为了回答您的问题,接口仅在设计时间/编译时使用。这将防止您在运行时出现问题。。。