Utiliza el proyecto que desarrollaste con los tutoriales de Angular - Local y Angular - Boostrap.
Los componentes son las unidades básicas de una interfaz de usuario en una aplicación Angular. Estos componentes están asociados con una plantilla y un subconjunto de directivas.
Desde la línea de comandos, en la ruta raíz del proyecto de Angular, cree el componente contacto: ng g c shared/contacto
De app.component.html
, extraiga las siguientes etiquetas HTML:
...
<h4>Contact</h4>
<ul class="list-unstyled">
<li><a href="#" class="text-white">Follow on Twitter</a></li>
<li><a href="#" class="text-white">Like on Facebook</a></li>
<li><a href="#" class="text-white">Email me</a></li>
</ul>
...
Reemplace el contenido de contacto.component.html
por las etiquetas HTML copiadas previamente.
Renderice el componente contacto dentro del componente app:
...
import { ContactoComponent } from './shared/contacto/contacto.component';
@Component({
selector: 'app-root',
standalone: true,
imports: [CommonModule, RouterOutlet, ContactoComponent],
templateUrl: './app.component.html',
styleUrl: './app.component.css'
})
export class AppComponent {
...
<app-contacto>
: <div class="col-sm-4 offset-md-1 py-4">
<app-contacto></app-contacto>
</div>
Hay más de un mecanismo de comunicación entre la vista (el .html) y el controlador (.ts): string interpolation, property binding, event binding y two way databinding.
La interpolación se refiere a incrustar expresiones en texto marcado. De forma predeterminada, la interpolación utiliza llaves dobles como delimitadores.
En el .ts (el controlador) del componente contacto
...
export class ContactoComponent {
titulo:string = "Contáctame"
}
...
En el html (la vista) del componente contacto
<h4 class="text-white">Contáctame</h4>
por
<h4 class="text-white"> {{titulo}} </h4>
Notará que al abrir la barra superior aparece la vista modificada.
Las directivas sirven para extender la vista y usar lógica que será ejecutada en el DOM (Document Object Model). Existen tres tipos de directivas: directivas de atributo, directivas estructurales y componentes.
Con esta directiva estructural @for, o *ngFor, podemos repetir n veces un bloque de etiquetas.
En el .ts (el controlador) del componente contacto
...
export class ContactoComponent {
...
medios:any[] = [
{ "texto":"En Twitter"},
{"texto":"En Facebook"},
{"texto":"Por correo electrónico"}
]
...
En el html (la vista) del componente contacto
...
<ul class="list-unstyled">
<li><a href="#" class="text-white">Follow on Twitter</a></li>
<li><a href="#" class="text-white">Like on Facebook</a></li>
<li><a href="#" class="text-white">Email me</a></li>
</ul>
...
por
<V17:
<ul class="list-unstyled">
<li *ngFor="let medio of medios">
<a href="#" class="text-white">
{{medio.texto}}
</a>
</li>
</ul>
<e;V17:
<ul class="list-unstyled">
@for (medio of medios; track medio.texto) {
<li>
<a href="#" class="text-white">
{{medio.texto}}
</a>
</li>
} @empty {
Empty list of media
}
</ul>
Notará que al abrir la barra superior aparece la vista modificada.