Saltar al contenido

Sintaxis ‘como’ de la directiva ngIf personalizada angular

Este equipo de expertos despúes de varios días de trabajo y recopilar de información, dieron con la respuesta, esperamos que te sea útil para tu proyecto.

Solución:

respuesta actualizada: Puedes copiar y pegar NgIf directiva de Angular github y lo único que tienes que hacer es cambiar el nombre de NgIfContext#ngIf para que coincida con su nombre de directiva if personalizado, por ejemplo:

export class NgIfContext 
  public $implicit: any = null;
  public appCustomIf: any = null;

Luego cambie los nombres de todos Input() respectivamente para que coincida también con el nombre de su directiva. Con este, as la palabra clave funcionará. Vea la demostración de StackBlitz.

EDITAR: Como referencia adicional, puede seguir estas confirmaciones en la solicitud de extracción n.º 15025 para ver cómo se implementaron. as palabra clave en NgIf y NgForOf. En breve:

  1. En a63d57f agregaron as palabra clave para analizar.
  2. En 203ee65 y ef93998 convirtieron NgIf y NgForOf respectivamente para usar as sintaxis.
  3. Finalmente en 71d43db expusieron NgForOfContext,NgIfContext y hecho NgForOf usar NgForOfContext.

Además, si tiene curiosidad, puede ver cómo implementaron let en NgIf siguiendo la solicitud de extracción #13297.

Esto puede ayudarlo a comprender lo que está sucediendo debajo.


Respuesta original:
Si realmente no te importa as sintaxis y solo necesita una variable de plantilla de trabajo, esto hará el trabajo.

*appCustomIf="test$ | async; let result"

Funciona con copiado y pegado. ngIf de Angular github. Vea la demostración de StackBlitz.

Se trata de la microsintaxis de las directivas estructurales de Angular (https://angular.io/guide/structural-directives#microsyntax)

Si desea que su contexto se exporte a través de as sintaxis que debes usar exactamente el mismo nombre que tiene su directiva al exportarlo, es decir

this.viewContainerRef.createEmbeddedView(this.templateRef, myCustomDirective: this.context)

También puedes usar $implicit sintaxis: esto le permitirá exportar contexto a través de let variable sin nombrarla (exportación predeterminada).

Vea este ejemplo para los detalles.

Si guardas algún titubeo y capacidad de acrecentar nuestro sección te proponemos ejecutar una anotación y con deseo lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *