Envía el valor de un input al fichero de TypeScript
En varias ocasiones necesito enviar de una forma rápida cualquier valor desde el HTML al TypeScript, y casi siempre tengo que recurrir a mi GitHub para consultar mi Gist en cuestión.
Me resulta más rápido tenerlo en un artículo y buscarlo desde Google que tener que loguearme en GitHub y buscar el snippet.
Envía el valor de un input de HTML al fichero typescript de Angular usando una función
Marcamos el input con el símbolo de numeral (#) y el nombre que querramos darle que equivale a asignarle un id. En el ejemplo de abajo le he dado el nombre de identificador
- Asignamos al botón la función que hayamos definido en el fichero de TypeScript y le pasamos como parámetro identificador.value
HTML
<input #identificador type="text" placeholder="Para testear" autocomplete="off" /> <button type="button" (click)="getInputValue(identificador.value)" > TEST </button>
Fichero TS (Typescript)
import { Component } from '@angular/core'; @Component({ selector: 'app-test', templateUrl: './test.component.html', styles: [ ] }) export class TestComponent { constructor() {} public getInputValue(inputValue:string){ console.log(inputValue); } }
Envía el valor de un input de HTML al fichero typescript de Angular usando el [(ngModel)] (Recomendado)
Con [(ngModel)] combinaremos un Event Biding con una Property Biding.
Si utilizamos ngModel de esta manera el binding será bidireccional, es decir, Two-way Binding y la combinación de un evento junto a una propiedad nos otorga mucho potencial.
HTML
<h1>Hola {{nombre}}</h1> <input type="text" [(ngModel)]="nombre" placeholder="Escribe tu nombre" autocomplete="off" />
Fichero TS (Typescript)
import { Component } from '@angular/core'; @Component({ selector: 'app-test', templateUrl: './test.component.html', styles: [ ] }) export class TestComponent { nombre = 'Francisco'; constructor() {} }
Un truquito para recordar la sintáxis del ngModel es pensar en una caja con dos plátanos [()] 😉
Hasta luego 🖖