È possibile inviare dati dal genitore a un figlio tramite @Input, o chiamare un metodo sul genitore dal figlio con @Output, ma I ' Mi piace fare esattamente il contrario, che sta chiamando un metodo sul bambino dal genitore. Fondamentalmente qualcosa di simile:Angular 2 - Come attivare un metodo su un figlio dal genitore
@Component({
selector: 'parent',
directives: [Child],
template: `
<child
[fn]="parentFn"
></child>
`
})
class Parent {
constructor() {
this.parentFn()
}
parentFn() {
console.log('Parent triggering')
}
}
e il bambino:
@Component({
selector: 'child',
template: `...`
})
class Child {
@Input()
fn() {
console.log('triggered from the parent')
}
constructor() {}
}
Lo sfondo è un tipo di richiesta "get", vale a dire per ottenere lo status di up-to-date dal bambino.
Ora so che potrei ottenere ciò con un servizio e soggetto/osservabile, ma mi chiedevo se non c'è qualcosa di più semplice?
Grazie, ViewChild era davvero quello che stavo cercando. –
Il decoratore ViewChild funziona anche quando il mio genitore (tabella) ha molti figli (righe) come componente? Ho solo una istanza del bambino giusto? – Pascal
@Pascal Per i casi con più istanze di un componente figlio, è necessario utilizzare il decoratore ViewChildren. https://angular.io/docs/ts/latest/api/core/index/ViewChildren-decorator.html – awiseman