Estoy trabajando con angular 2 y he encontrado algo como
<input #searchBox (keyup)="search(searchBox.value)"
y funciona.
Sin embargo, no entiendo el significado de #searchBox . No he encontrado nada claro tampoco en el documento.
¿Alguien podría explicarme cómo funciona?
javascript
html
angular
typescript
ackuser
fuente
fuente
#searchBox
en el elemento es lo que le permite usarsearchBox.value
en el controlador de keyup.Respuestas:
Es la sintaxis utilizada en el sistema de plantillas Angular 2 que declara elementos DOM como variables.
Aquí le doy a mi componente una URL de plantilla:
Las plantillas representan HTML. En una plantilla puede usar datos, enlace de propiedades y enlace de eventos. Esto se logra con la siguiente sintaxis:
#
- declaración variable()
- enlace de eventos[]
- enlace de propiedad[()]
- enlace de propiedad bidireccional{{ }}
- interpolación*
- directivas estructuralesLa
#
sintaxis puede declarar nombres de variables locales que hacen referencia a objetos DOM en una plantilla. p.ejfuente
<input #bla style="display: none;" value="Foo" /<div> {{bla.value}} </div>
. Foo se muestra en div.Cuando configura este #searchBox, puede obtener esta entrada en su mecanografiado como
EDITAR
Agregando un ejemplo: https://plnkr.co/edit/w2FVfKlWP72pzXIsfsCU?p=preview
fuente
Desde angulartraining.com :
fuente
Crea una variable de plantilla que hace referencia
input
elemento si el elemento es un elemento DOM simple#foo="bar"
cuandobar
esDicha variable de plantilla se puede hacer referencia en enlaces de plantilla o en consultas de elementos como
fuente
ngModel
es para la integración de formularios. Puede hacer todos los otros tipos de enlaces sinngModel
.ngAfterViewInit
sin importarlo realmente? E implementando? ¿Es una función incorporada en Plunker?