İki bileşenden (ana ve alt) oluşan basit bir kullanıcı arayüzü oluşturdum.Alt öğe bileşenindeki açısal 2 ngModel, üst bileşen özelliğini güncelleştirir
Kullanıcı Arabiriminin giriş kutusunda bazı şeyleri yazarken UI'nın yaptığı şey. Değer ngModel kullanılarak değişecektir.
Alt öğe bu şekilde çalışıyor.
// Child Component
@Component({
selector: 'child',
template: `
<p>{{sharedVar}}</p>
<input [(ngModel)]="sharedVar">
`
})
export class ChildComponent {
sharedVar: string;
}
Şimdi, Çocuk Bileşeni ile aynı değeri kullanmayı amaçladığım bir ana bileşenim var.
Alt Bileşene Alt Bileşene ekledim ve Bağımlılık Enjeksiyonu'nu kullanarak Child Component'ın sharedVar
numaralı telefonunu aradım. Ben giriş kutusuna yazarak yaşıyorum
// 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;
}
}
sorundur, otomatik <p>
değer değişip değer ebeveyn bileşenin <h1>
değişmez iken.
Bileşenleri enjekte etmeyin, değerleri şablonun oluşturduğu örnek olan '@ Input' https://angular.io/docs/ts/latest/api/core/Input-var.html 'yi kullanarak, çocuk bileşenlerine değerleri iletin. ve bir sağlayıcı belirterek oluşturduğunuz örnek iki farklı örnektir. – Langley