Ich habe eine Klasse in Typoskript so -komplexer Name des Feldes der Klasse in Typoskript
export class News {
title: string;
snapshot: string;
headerImage: string;
}
jetzt in meinem Winkel Dient Ich habe eine Methode, die wie diese Liste der Nachrichten erhalten -
private searchNews(sortOrder : string, query? : string):Observable<News[]>{
return this.http.get(this.url+'?'+this.buildParams(sortOrder,10,0,query))
.map((res:Response) => res.json())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'))
}
hier ist die jSON-Daten i vom Server immer bin -
[{
"jcr:path":"someurl",
"title":"Hello News",
"snapshot":"Here is a snapshot",
"headerImage":"image.png"
},
...
]
Jetzt möchte ich „pat ein Feld hinzufügen h " in meiner Nachrichtenklasse, die Wert des Feldes " jcr: Pfad " von JSON-Daten abbildet.
Aber ich kann nicht Klasse wie folgt schreiben -
export class News {
jcr:path:string;// I may write it as - path:string
title: string;
snapshot: string;
headerImage: string;
}
So ist es so, wie ich Typoskript sagen kann Wert von "Pfad" Feld zu extrahieren aus "jcr: path" Eigenschaften
ist das wunderbar, aber können Sie mir bitte sagen, ob es einen Weg gibt, ca i n halte nur den Pfad meines Feldnamens, so dass es einfach ist, in eckigen Ausdruck zu schreiben wie {{news.path}} anstatt {{news ['jcr: path']}} –
Das erfordert, dass du die Form des Underlyings änderst Javascript-Objekt. Sie können dies tun, indem Sie eine Transformation auf Ihrer http-Anfrage verwenden (siehe https://docs.angularjs.org/api/ng/service/$http#transforming-requests-and-responses) – Mike
Ja, das ist, was ich gesucht habe. Vielen Dank. –