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

554
Views
La propiedad 'X' es privada y solo se puede acceder a ella dentro de la clase 'xyzComponent'

Estoy tratando de crear una aplicación angular2 para producción para la que estoy siguiendo este blog . Después de mi compilación exitosa de ngc cuando se lleva a cabo la compilación de tsc , se genera el siguiente error que se muestra en la imagen:

Después de buscar por un tiempo, encontré este blog que explica el problema en la sección "La propiedad de contexto" que no puedo entender correctamente, puede que le dé una buena idea de lo que está sucediendo mal. Básicamente, cuando hacemos que una variable sea privada, obtenemos "ERROR: la propiedad es privada y solo se puede acceder a ella dentro de la clase" .

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Para un componente determinado, todos sus miembros (métodos, propiedades) a los que accede su plantilla deben ser públicos en el escenario de compilación AOT. Esto se debe al hecho de que una plantilla se convierte en una clase TS. Una clase generada y un componente son 2 clases separadas ahora y no puede acceder a miembros privados entre clases.

En resumen: no puede acceder a miembros privados en sus plantillas si desea utilizar la compilación anticipada.

Para una mejor explicación https://github.com/angular/angular/issues/11422

over 4 years ago · Santiago Trujillo Report

0

Tal vez otra respuesta aún más simple es:

Chicos, por favor no llamen a métodos privados, campos o propiedades desde el HTML :)


PD: al compilar el código *.ts a *.js , AOT se niega a conectar miembros no públicos con la plantilla HTML .

Y "sí", esto hará que su tubería de compilación falle: D

over 4 years ago · Santiago Trujillo Report

0

Obtuve esto cuando declaré inyectables privados en el constructor:

 constructor(private service: SpecificObjectService) { }

Y los usé en la plantilla:

 *ngFor="let pd of service.listSpecificObject "

La solucion es:

 constructor(public service: SpecificObjectService) { }
over 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!