Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

492
Views
Angular: ¿una comunicación indocumentada entre padres e hijos?

Después de leer esta sección sobre la interacción de los componentes , me di cuenta de que hay otra forma de comunicarse de niño a padre (que en realidad no estaba documentada allí):

Resulta que si tengo una clase principal:

 @Component({ selector: 'my-app', template: ` <div> <h2>Hello {{name}}</h2> <my-item></my-item> </div> `, }) export class App { name:string; go1() { alert(2) } constructor() {} }

Y en el componente secundario, parent un tipo principal en el ctor:

 @Component({ selector: 'my-item', template: ` <div> <input type="button" value='invoke parent method' (click) = "myGo()"/> </div> `, }) class MyItem { name:string; private parent1 : App; myGo() { this.parent1.go1() //<--- access is available here } constructor(private parent1 : App) { this.parent1 = parent1; //<------------ manually, unlike service this.name = `Angular! v${VERSION.full}` } }

Luego, Angular ve que estoy tratando de inyectar una clase de tipo principal y me da acceso a ella.

El clic funciona, por supuesto.

Pregunta:

Además de otras alternativas que ya conozco, ¿está documentado en alguna parte? o es solo una característica en la que no puedo confiar

plnkr

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Esto funciona bien y se puede utilizar.

Una desventaja importante es que rompe la encapsulación. El componente secundario necesita saber sobre el componente principal. Este enfoque hace que el elemento secundario se acople estrechamente a su elemento principal, lo que generalmente se considera algo malo porque evita que el componente se reutilice en cualquier lugar dentro de su aplicación, ya que ahora solo funciona como elemento secundario de este elemento principal exacto.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!