Banner html templateAngular2 Doppelbindung nicht aktualisiert
body: {{body}}
<br>
message: {{message}}
<button type="submit" (click)="updateMessage('haha')">Update Message</button>
Banner Komponente
import { Component } from '@angular/core';
import { StateService } from 'app/common/state.service';
@Component({
selector: 'banner',
templateUrl: 'app/banner/banner.component.html',
providers: [StateService]
})
export class BannerComponent {
body: string = 'This is the about home body';
message: string;
constructor(private stateService: StateService) {
}
ngOnInit() {
this.message = this.stateService.getMessage();
}
updateMessage(m: string): void {
this.stateService.setMessage(m);
}
}
Staatsdienst
import {Injectable} from '@angular/core';
@Injectable()
export class StateService {
private message = 'Hello Message';
getMessage(): string {
return this.message;
};
setMessage(newMessage: string): void {
console.error('setting message' + newMessage);
this.message = newMessage;
};
}
ich auf Winkel 2 einige Tutorials bin nach und ich versuche, einen gemeinsamen Service (common state) haben, der eine Eigenschaft hat, die Sie aus einer Komponente (Banner) setzen können.
Alles wird kompiliert und der Setter im Staatsdienst wird mit dem korrekten Wert ausgelöst. Nur ist die doppelte Bindung (Nachricht: {{message}}) in banner.component.html nicht aktualisiert. Wie ist das nicht der Fall?