0
バナーHTMLテンプレートAngular2は、二重結合、私は角2にいくつかのチュートリアルを以下だし、私がしようとしている
body: {{body}}
<br>
message: {{message}}
<button type="submit" (click)="updateMessage('haha')">Update Message</button>
バナーコンポーネント
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);
}
}
状態サービス
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;
};
}
を更新していませんコンポーネント(バナー)から設定できるプロパティを持つ1つの共有サービス(共通の状態)を持つこと。
すべてがコンパイルされ、状態サービス内の設定者が正しい値で起動されます。 banner.component.html内の二重バインド(メッセージ:{{message}})のみが更新されません。 どうしたのでしょうか?