【发布时间】:2016-06-26 08:01:59
【问题描述】:
我的 angular2 应用程序中有一些接口。其中之一是针对我从远程 API 获取的产品。
我的界面:
export interface Product {
id: number;
name: string;
}
在我的服务中获取产品时,我会执行以下操作:
this.http.get(productsUrl).map(res => <Product>res.json());
然后这是在我的应用程序的某个地方订阅的。我刚刚意识到,后端的产品具有更多的属性,而不仅仅是在我的界面中定义的 id 和 name。我教过这会引发某种错误,但似乎我的界面只是被从后端获取的任何内容覆盖了。
例如,我可以通过稍后在我的应用程序中执行 product.price 来获取价格,即使这不是我的界面的一部分(而是获取的 json 中产品的一部分)。为什么会这样?如果只是被覆盖了,接口是什么?
【问题讨论】:
-
类型转换是编译时操作,没有运行时影响
标签: typescript angular