Ich habe eine Hauptkomponente mit 2 Unterkomponenten (Update, Profil).Wie Komponente zum Aktualisieren von Daten aufgerufen wird?
Auf Update-Komponente habe ich ein Formular mit mehreren Eingabefeldern. Wenn ich ein Formular abschicke, sollten die Profilinformationen nach einer erfolgreichen Anfrage aktualisiert werden.
Das Problem ist, Profilinformationen werden nach einer erfolgreichen Anfrage nicht aktualisiert.
So, wie Profilkomponente aufgerufen wird, um aktualisierte Daten zu aktualisieren? Ich habe versucht, nach erfolgreicher Anfrage einen Dienst anzurufen, aber kein Glück.
By the way, Eltern-Service wie folgt aussieht:
@Injectable()
export class AvailabilityService {
constructor(private http: Http) {
}
getProfile() {
return this.http.get(API_URL + '/user/profile')
.map(this.extractData)
.catch(this.handleError);
}
freeOwnersParking(availableDates: AvailableDates) {
let domain = API_URL + '/parking/availability';
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
let body = JSON.stringify(availableDates);
return this.http.put(domain, body, options)
.catch(this.handleError);
}
private extractData(res: Response) {
let body = res.json();
return body;
}
private handleError(error: any) {
let errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
return Observable.throw(errMsg);
}
}
UPDATE
Get Profil:
getProfile() {
this.availabilityService.getProfile()
.subscribe(
profile =>this.profile = profile,
error => this.errorMessage = <any>error
);
}
Profil aktualisieren:
freeOwnersParking() {
this.availabilityService.freeOwnersParking(this.availableDates)
.subscribe(
response => this.availabilityService.getProfile(),
error => this.errorMessage = error
);
}
Es gibt nichts, um die Werte mit Ausnahme der Aktualisierung zu tun ist. Ihre Frage zeigt nicht, wie Sie es tun. Wie verwenden Sie den Service in Ihrer Komponente und welche Daten werden nicht aktualisiert? –
Sie müssen die Methode getProfile() in Ihrem Coponent abonnieren. So werden Sie in der Lage sein, Profildaten zu verknüpfen ... – micronyks
@ GünterZöchbauer Aktualisierte Frage. – burjulius