Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

596
Vistas
¡No hay proveedor para TemplateRef! (NgIf -> Ref. de plantilla)

Estoy tratando de mostrar una marca de verificación si una respuesta es la respuesta aceptada:

 template: `<div ngIf="answer.accepted">&#10004;</div>`

Pero me sale este error:

 EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef)

¿Qué estoy haciendo mal?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Te perdiste el * delante de NgIf (como todos lo hemos hecho, docenas de veces):

 <div *ngIf="answer.accepted">&#10004;</div>

Sin el * , Angular ve que la directiva ngIf se aplica al elemento div , pero dado que no hay una etiqueta * o <template> , no puede ubicar una plantilla, de ahí el error.


Si obtiene este error con Angular v5:

Error: StaticInjectorError[TemplateRef]:
StaticInjectorError[TemplateRef]:
NullInjectorError: ¡No hay proveedor para TemplateRef!

Puede tener <template>...</template> en una o más de sus plantillas de componentes. Cambie/actualice la etiqueta a <ng-template>...</ng-template> .

over 4 years ago · Santiago Trujillo Denunciar

0

Entonces, puedo ayudar a comprender qué (y dónde) cometió el error, pero antes, debemos leer la documentación:

Acceda a una instancia de TemplateRef colocando una directiva en un elemento (o directiva con el prefijo *). El TemplateRef para la vista incrustada se inyecta en el constructor de la directiva, utilizando el token TemplateRef.

También puede usar una consulta para encontrar una TemplateRef asociada con un componente o una directiva.

Asi que:

  • Al usar [ngIf]="something" , debe usar <ng-template> para acceder a la referencia de la plantilla (por ejemplo, cuando usa <template> o <ng-template> );
  • Usando *ngIf puede usarlo donde quiera porque * garantiza el acceso a la referencia de la plantilla (por ejemplo, cuando usa <span> o <div> );

Si está usando en su código algo como <span [ngIf]="message"> {{message}}</span> probablemente obtendrá algún error.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda