2つのコンポーネント(親と子)で構成される単純なUIを作成しました。子コンポーネントの角2 ngModelが親コンポーネントのプロパティを更新する
子コンポーネントの入力ボックスにいくつかのものを入力したときのUIの機能です。値はngModelを使用して変更されます。
子コンポーネントは正常に動作します。
// Child Component
@Component({
selector: 'child',
template: `
<p>{{sharedVar}}</p>
<input [(ngModel)]="sharedVar">
`
})
export class ChildComponent {
sharedVar: string;
}
私は子コンポーネントと同じ値を使用するつもりです。
親テンプレートに子コンポーネントを追加し、依存コンポーネント注入を使用して子コンポーネントのsharedVar
を呼び出しました。私は、入力ボックスに入力していますよう
// Parent Component
@Component({
selector: 'parent',
template: `
<h1>{{sharedVar}}</h1>
<child></child>
`,
directives: [ChildComponent],
providers: [ChildCompnent]
})
export class ParentComponent {
sharedVar: string;
constructor(child: ChildComponent) {
this.sharedVar = child.sharedVar;
}
}
問題がある親コンポーネントの<h1>
の値は変更されませんが、<p>
の値が自動的に変更されます。
コンポーネントを挿入しないで、 '@ Input' https://angular.io/docs/ts/latest/api/core/Input-var.htmlを使用して子コンポーネントに値を渡します。これは、テンプレートによって作成されたインスタンスですプロバイダを指定して作成するインスタンスは、2つの異なるインスタンスです。 – Langley