En este post te mostraré cómo ligar un input con una variable de Angular, de manera que si la variable cambia en el input, se cambie en los demás lugares.
Y de manera similar, si la variable cambia desde otro lugar se refresque en el input. Todo esto será con Angular y con el two way binding.
Por cierto, esto que te enseñaré será muy simple por si solo necesitas un input. En caso de que quieras algo más avanzado mira los formularios con Angular.
Aunque solo vayamos a ligar un input
a una variable, necesitamos importar FormsModule. Para ello en app.module.ts
importa FormsModule
:
import { FormsModule } from '@angular/forms';
Y después inclúyelo en los imports:
imports: [
BrowserModule,
FormsModule,
],
Solo como ejemplo, te dejo mi archivo completo:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { FormsModule } from '@angular/forms';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
En nuestra plantilla vamos a tener un input y colocaremos el two-way-binding con [(ngModel)]
.
Adicional a ello tendremos un botón que cambiará la variable desde otro lugar para demostrar que realmente se está ligando el input en Angular a una variable:
El nombre es: {{nombre}}
<br>
<input type="text" [(ngModel)]="nombre">
<br>
<button (click)="modificarValor()">Cambiar nombre a 'Otro nombre'</button>
Y luego en el código TypeScript tenemos lo siguiente:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
nombre = "Luis"
modificarValor() {
this.nombre = "Otro nombre"
}
}
Fíjate que estoy definiendo la propiedad en la línea 9, misma que estoy mostrando en el HTML en la línea 1.
Después de eso en el clic del botón se va a invocar a la función modificarValor
que va a cambiar la propiedad, y cuando esto pase se va a cambiar también dentro del input.
Todo esto con Angular y TypeScript.
El código completo ya te lo dejé en este post, pero igual lo dejo en un editor en línea en caso de ser necesario.
Aquí arriba solo puedes ver la demostración en un Gif. Por cierto, recuerda que al inicio ya te dejé un enlace para los formularios con Angular.
En mi blog tengo más proyectos y tutoriales con Angular, te invito a darles una lectura.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.