私はちょうどAngular2で始まり、公式ドキュメントを読んでいます。しかし、バインディングがいつどのように起こるかについて具体的な詳細は見つかっておらず、期待通りに動作しないようです。Angular2:プロパティバインドはいつ行われますか?
私は5秒後に変更するには、子コンポーネントによって表示されるテキストは、しかし、そうでない期待するシンプルな子コンポーネント
@Component({
selector: 'dummy',
template: `
<div>{{data}}</div>
`
})
export class Dummy {
@Input() data;
}
とルートコンポーネント
@Component({
selector: 'main',
template: `
<h1>hello</h1>
<dummy [data]="data"></dummy>
`
})
export class MainComponent {
data: string = "initial text";
ngOnInit() {
setTimeout(this.initData, 5000);
}
initData() {
this.data = "new text";
}
}
を持っています。私は間違って何をしていますか?ドキュメントでは、どのような条件でバウンド値が初期化され、更新されるのかについて説明していますか?
https://blog.thoughtram.io/angular/2016/02/22/angular-2-([変更の検出]についての記事をチェックchange-detection-described.html)を参照してください。あなたの例では、変更を確認するために角度を求める必要があります。これを行うには、** ChangeDetectorRef **を呼び出し、** markForChanges()**メソッドを呼び出します。詳細は記事を読んでください。 – BuDen
@BuDen:ありがとうございます!公式文書のどこに変更の検出が記載されているか知っていますか? –
[ChangeDetectorRef](https://angular.io/api/core/ChangeDetectorRef)のドキュメントをチェックすることができますが、いくつかの例があります。 – BuDen