Supponiamo che io sono semplice componente Angular2Segnalatemi componente figlio cambiamenti in Angular2
@Component({ selector: 'parent' })
@View({
template: `
<p>Parent {{ data }}</p>
<child [model]="data"></child>
`,
directives : [Child]
})
export class Parent {
data: number = 42;
}
come si può vedere che usa un altro semplice componente
@Component({
selector: 'child',
properties : ['model']
})
@View({
template: `
<p>Child {{ model }}</p>
`,
})
export class Child {
model: number;
}
sto passando model
dal componente parent
al child
attraverso la sintassi [property]
dell'angolare per l'associazione dati. Quindi, se voglio tenere traccia delle modifiche di nel parent
, posso facilmente aggiungere un evento allo child
e tramite la sintassi (event)
le modifiche nel "genitore". Quindi, come posso implementare la situazione opposta quando parent
cambia model
e child
vuoi essere avvisato?
se il genitore cambia il modello, il bambino riceverà il nuovo valore tramite l'associazione, quindi non c'è nulla di speciale necessaria per il genitore di inviare un nuovo valore per il bambino diverso da quello –
Sì, lo sarà, ed è sufficiente se ho bisogno solo di visualizzare i dati. Ma cosa succede se ho bisogno di aggiungere qualche logica aggiuntiva per la modifica dei dati? Ricalcola qualcosa o fai una richiesta http e così via. Questo è il caso in cui $ watch aiuta nell'angolare 1. –