Encontré una sintaxis de asignación extraña dentro de una plantilla Angular 2.
<template let-col let-car="rowData" pTemplate="body">
<span [style.color]="car[col.field]">{{car[col.field]}}</span>
</template>
Parece que let-col
y let-car="rowData"
crea dos nuevas variables col
y car
que luego se pueden vincular dentro de la plantilla.
Fuente: https://www.primefaces.org/primeng/#/datatable/templating
¿Cómo se llama esta let-*
sintaxis mágica ?
¿Como funciona?
¿Cuál es la diferencia entre let-something
y let-something="something else"
?
angular
angular2-template
primeng
Steven Liekens
fuente
fuente
Respuestas:
actualizar Angular 5
ngOutletContext
fue renombrado angTemplateOutletContext
Ver también https://github.com/angular/angular/blob/master/CHANGELOG.md#500-beta5-2017-08-29
original
Las plantillas (
<template>
o<ng-template>
desde 4.x) se agregan como vistas incrustadas y se les pasa un contexto.Con
let-col
la propiedad de contexto$implicit
está disponible comocol
dentro de la plantilla para enlaces. Conlet-foo="bar"
el contexto, la propiedadbar
está disponible comofoo
.Por ejemplo, si agrega una plantilla
Vea también esta respuesta y ViewContainerRef # createEmbeddedView .
*ngFor
También funciona de esta manera. La sintaxis canónica lo hace más obvio.donde
NgFor
agrega la plantilla como vista incrustada al DOM para cada unoitem
de lositems
y agrega unos pocos valores (item
,index
,odd
) para el contexto.Consulte también Uso de $ implict para pasar múltiples parámetros
fuente
ngOutletContext
. Ese era el eslabón perdido entre lo que ya sabía y la información que no pude encontrar en la documentación.ngTemplateOutletContext
como usted sugirió en el lanzamiento de angular 5. Los documentos tampoco mencionan nada sobre su desaprobación. angular.io/api/common/NgTemplateOutlet*
está haciendo la sintaxis.La microsintaxis angular le permite configurar una directiva en una cadena compacta y amigable. El analizador de microsintaxis traduce esa cadena en atributos en
<ng-template>
. La palabra clave let declara una variable de entrada de plantilla a la que hace referencia dentro de la plantilla.fuente