角tutorial具有在HTTP部分下面的行: 打字稿鑄造JSON來在角對象使用`as`不起作用
response => response.json().data as Hero
得到時英雄。 response.json().data
返回以下內容:
我試圖做同樣的事情。我在服務器端使用Django並使用rest_framework返回json。 在角我有我的課:
export class MyClass {
name: string;
}
所以我嘗試做的是:
myObject: MyClass;
ngOnInit(): void {
this.getResponseFromServer().then(myObject => this.myObject = myObject);
}
getResponseFromServer(): Promise<MyClass> {
return this.http.get("http://127.0.0.1:8000/myurl/")
.toPromise()
.then(response => response.json() as MyClass)
.catch(this.handleError);
}
和我的模板包含:
<ion-card>
<ion-card-header> Card Header </ion-card-header>
<ion-card-content>
Response from server {{myObject.name}}
</ion-card-content>
</ion-card>
我收到錯誤:無法讀取未定義的屬性「名稱」。
當我在HTML {{myObject.name}}
更改爲{{myObject}}
,那麼就沒有錯誤,並從服務器的應答,我必須從服務器[對象的對象]印刷響應。
所以問題是我的代碼和角度教程有什麼區別?我已經看到很多回答問題,比如How do I initialize a typescript object with a JSON object,但是我希望它只需使用as
關鍵字就容易多了。
請閱讀標籤說明,不使用角2+問題angularjs標籤。 – estus