0% encontró este documento útil (0 votos)
172 vistas5 páginas

Angular Cheat Sheet

Este documento proporciona una guía de comandos básicos para Angular CLI. Explica cómo instalar Angular CLI, iniciar un nuevo proyecto, y generar componentes, directivas, guardias, interceptores, módulos, tuberías y servicios usando comandos como ng generate. También cubre sintaxis de plantillas de Angular como enlaces de propiedades, clases, estilos y eventos.

Cargado por

Jose Rodriguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
172 vistas5 páginas

Angular Cheat Sheet

Este documento proporciona una guía de comandos básicos para Angular CLI. Explica cómo instalar Angular CLI, iniciar un nuevo proyecto, y generar componentes, directivas, guardias, interceptores, módulos, tuberías y servicios usando comandos como ng generate. También cubre sintaxis de plantillas de Angular como enlaces de propiedades, clases, estilos y eventos.

Cargado por

Jose Rodriguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

Angular sssssssssssssssssssssssssss

ssssssssssssssss
ssssssssss
ssssssssss
ssssssssss
Guia de atajos

Commandos Básicos Bandera Descripción


Instalar AngularCLI: Ejecutar esto como administrador

ng g c [name] -- at Crea los nuevos archivos en el


npm install -g @angular/cli nivel especi cado sin crear un

nuevo directorio.
Iniciar un proyecto nuevo: dos formas
--inline-style
ng g c [name] Incluye los estilos en el mismo
npm init @angular myApp ng g c [name] -s archivo controlador (.ts)
ng new my-app

Template Syntax

Angular CLI: Command line interface


Enlaza la propiedad “value”, al valor de lo que
Estos son unos de los comandos comunes para contenga “ rstName” Puede ser cualquier expresión de JavaScript

usarlos en con Angular CLI


<input [value]="firstName">

Comando para obtener ayuda de cualquier subrogando

Lo mismo se puede enlazar (bind) con muchos otros


ng --help atributos de los elementos HTML y componentes
ng generate --help personalizados

ng build --help

Añade el “role” igual al valor de myAriaRole
<div [attr.role]=“myAriaRole">
Comandos para generar componentes en Angular
Añade la clase extra-sparkle si es verdadera la expresión
<div [class.extra-sparkle]="isDelightful">
Comando Descripción
Incrementa el ancho en pixeles igual al valor de mySize
ng g component [name]
Genera un nuevo componente <div [style.width.px]=“mySize">
ng g c [name] en el [name], que puede ser Añade el listener click y dispara readRainbow
también [path/name] <button (click)="readRainbow($event)">
ng g directive [name]
Crea una nueva directiva Añade al DIV el atributo title con el valor de la expresión
ng g d [name] <div [title]="'Hello ' + ponyName">

ng g guard [name]
Crea un nuevo guard para
ng g g [name] protección de rutas Enlaza el valor de la expresión al valor que vemos
dentro del párrafo

ng g interceptor [name] Crea un interceptor para


observables. <p> Hello {{ponyName}} </p>

ng g module [name]
Crea un módulo que en sí, es
ng g m [name] un agrupador de diferentes Con gura el enlace de datos bidireccional.

componentes. <my-cmp [(title)]="name">


ng g pipe [name]
Crea un pipe que en sí, es un Que sería el equivalente a:

ng g p [name] transformador visual de la data.


<my-cmp
ng g service [name]
Crea un servicio, que en sí, [title]="name"
ng g s [name] permite compartir información (titleChange)="name=$event">
entre la aplicación.

Plantilla incrustadas

Banderas útiles a los comandos de generación

<p *myUnless="myExpression">
Bandera Descripción …
</p>
ng g c --help Muestra la ayuda completa de

todos los comandos Lo que sería equivalente a:

disponibles. <p *myUnless="myExpression">


ng g c [name] --dry-run Ejecuta el comando sin modi car …
ningún archivo. Útil si no se está </p>
seguro de lo que el comando hará

Uso de pipes:

Cursos y cupones en fernando-herrera.com


fi

fi
fi

fl
fi

Angular sssssssssssssssssssssssssss
sssssss
sssssss
ssssssssssssssss
Guia de atajos
sssssss

<p>

Nombre: {{ 'fernando' | uppercase }} FormsModule de @angular/forms


</p>

<input [(ngModel)]="userName">

Operador de navegación segura

Decoradores de clase para componentes


<p> @Input: De ne una propiedad que puede ser enviada
Employer: {{employer?.companyName}} desde el padre hacia el componente hijo. @angular/core

</p>

@Input() myProperty;

Referencias locales en el html


Ejemplo:

<input #search type="text" /> <my-cmp [myProperty]="someExpression">


<video #movieplayer …></video>


<button (click)="movieplayer.play()"> @Output: De ne una salida del componente que el
Play componente padre puede suscribirse para escuchar.

</button> @Output() myEvent = new EventEmitter();



Ejemplo:

Directivas incluídas
<my-cmp (myEvent)=“someExpression”>
Las siguientes directivas vienen incluidas dentro del

módulo “CommonModule” de @angular/common

@HostBinding: Enlaza el elemento an trión (host) a la


*ngIf: Remueve o crea una parte del DOM basado en propiedad de la clase: @angular/core

la expresión “showSection”
@HostBinding('class.valid') isValid;

<section *ngIf="showSection">

@HostListener: Se suscribe al evento click del
an trión (host), opcionalmente se puede recibir el
*ngFor: Convierte el <li> en un template, y lo usa para evento. @angular/core

duplicarlo basado en la cantidad de elementos dentro


de la lista
@HostListener('click', ['$event'])
onClick(e) {…}
<li *ngFor="let item of list">


@ViewChild y @ViewChildren: Enlaza el resultado
nal de la vista del componente basado en el
ngSwitch: Condicionalmente cambia el contenido del predicado a la propiedad de la clase (no es válido para
<div> por el template que cumpla la condición.
directivas) @angular/core

<div [ngSwitch]="conditionExpression"> @ViewChild(myPredicate) myChildComponent;


<ng-template [ngSwitchCase]="case1Exp">
@ViewChildren(myPredicate) myChildComponent;

</ng-template>
<ng-template ngSwitchCase="case2LiteralString">

</ng-template> Ciclo de vida - Lifecycle Hooks

<ng-template ngSwitchDefault>

Estos son los pasos de ejecución cuando un
</ng-template> componente o directiva entra en pantalla.

</div>

Hook / Class Method Descripción


ngClass: Enlaza clases de css basado en un objeto o
expresión.
constructor
Se llama antes de cualquier
<div [ngClass]="{'active': isActive, ciclo de vida.
'disabled': isDisabled}">

ngOnChanges Antes de cualquier cambio a una
propiedad.
ngStyle: Permite asignar estilos a los elementos html
utilizando CSS.
ngOnInit Justo después del constructor.

<div [ngStyle]="{'property': 'value'}">


<div [ngStyle]="dynamicStyles()">

Cursos y cupones en fernando-herrera.com


fi
fi

fi

fi

fi

Angular sssssssssssssssssssssssssss
ssssssssssssssss
sssssss
sssssss
sssssss
Guia de atajos

Hook / Class Method Descripción

RouterLinkActive: Mostrar anchor tag con una clase


ngDoCheck Se llama cada vez que una
si nos encontramos en la respectiva ruta:

propiedad del componente o <a [routerLink]="[ '/path' ]"


directiva es revisada. routerLinkActive="active">

ngAfterContentInit Después de ngOnInit, cuando el


componente es inicializado.
Protección de rutas

ngAfterContentChecked Se llama después de cada CanActivateFn: Una interfaz que nos permite de nir
revisión del componente o una función para validar si una ruta se puede activar.

directiva.
import {
CanActivateFn,
ngAfterViewInit Después del ngAfterContentInit
ActivatedRouteSnapshot, RouterStateSnapshot
} from "@angular/router"
ngAfterViewChecked Llamado después de cada
revisión de las vistas del function canActivateGuard: CanActivateFn =
componente o directiva. (
route: ActivatedRouteSnapshot,
ngOnDestroy Se llama justo antes de que el state: RouterStateSnapshot
componente o directiva va a ser ) => { … }
destruida.
# Definición de la ruta
{ path: …, canActivate: [canActivateGuard] }

Con guración de rutas y Router

Este es un ejemplo de rutas comunes


CanDeactivateFn: Interface para de nir una función
const routes: Routes = [
que permite indicarle a Angular si el usuario puede salir
{ path: '', component: HomeComponent }, de una ruta, útil si hay cambios pendientes de guardar
{ path: 'path/:routeParam', component: … }, por parte del client.

{ path: 'staticPath', component: … },


{ path: '**', component: … }, import {
{ path: 'oldPath', redirectTo: '/staticPath' }, CanDeactivateFn, ActivatedRouteSnapshot,
{ path: …, component: …, RouterStateSnapshot } from "@angular/router"
data: { message: 'Custom' }
} function canDeactivateGuard: CanDeactivateFn<T> =
]); (
component: T,
const routing = RouterModule.forRoot(routes); route: ActivatedRouteSnapshot,

state: RouterStateSnapshot
) => { … }
En el HTML:

# Definición de la ruta
<router-outlet></router-outlet>

{ path: …, canDeactivate: [canDeactivateGuard] }

LazyLoad: Permite de manera perezosa, cargar un


módulo. Esto signi ca cargarlo bajo demanda (cuando El mismo concepto se puede aplicara a las siguientes
un usuario lo solicita) y luego queda en memoria.
funciones:

import { Routes } from '@angular/router'; Función Descripción

const routes: Routes = [ CanActivateChildFn El router determina si la ruta hija se


{ puede activar
path: 'items',
loadChildren: () => import('./items/ ResolveFn El router determina si puede o no
items.module').then(m => m.ItemsModule) mostrar una ruta.
}
CanLoadFn El router determina si puede cargar
];

mediante lazy load un módulo

RouterLink: Diferentes anchor tags soportados para navegación


La forma común de protección de rutas en Angular es
<a routerLink="/path"> utilizar clases inyectables que implementan los
<a [routerLink]="[ '/path', routeParam ]”> métodos mencionados: CanActivate, CanLoad,
<a [routerLink]="[ '/path', { matrixParam: 'value' } ]">
CanDeactivate.

<a [routerLink]="[ '/path' ]" [queryParams]="{ page: 1 }">


<a [routerLink]="[ '/path' ]" fragment="anchor">

Cursos y cupones en fernando-herrera.com

fi

fi

fi

fi

Angular sssssssssssssssssssssssssss
ssssssssssssssss
Guia de atajos

Guards con clases Pipes


Debe de implementar la interfaz de “CanActivate” para Este es un listado de los pipes propios de Angular

que Angular lo considere un pipe para proteger una Pipe Descripción


ruta a la hora de activarla.

DatePipe Realizar formateos a una fecha


class UserToken {}
class Permissions {
canActivate(): boolean { UpperCasePipe Capitaliza todo el texto
return true;
}
} LowerCasePipe Coloca en minúscula todo el texto

@Injectable() Formatea el número a un formato de moneda.


class CanActivateTeam implements CanActivate { CurrencyPipe
constructor(private permissions: Permissions,
private currentUser: UserToken) {} Transforma un número a un string con formato
DecimalPipe
especi cado
canActivate(
route: ActivatedRouteSnapshot, Transforma el número a un porcentaje string,
state: RouterStateSnapshot
PercentPipe
formateado basado en las reglas locales.
): Observable<boolean|UrlTree>|Promise<boolean|
UrlTree>|boolean|UrlTree { Espera el resultado de una tarea asíncrona
return
AsyncPipe
(Promise u Observable) e imprime la resolución
this.permissions.canActivate(this.currentUser, o emisión
route.params.id);
} Es una mapa de valores para ayudar con la
} I18nPluralPipe
localización de palabras

I18nSelectPipe Similar al anterior, pero para singulares


Y se utiliza de la siguiente manera en la de nición de
las rutas.
JsonPipe Convierte un valor en una representación con
formato JSON
@NgModule({
imports: [
RouterModule.forRoot([ KeyValuePipe Transforma un objeto o mapa, en un arreglo de
{ pares de valores
path: 'team/:id',
component: TeamComponent, SlicePipe Crea un nuevo arreglo o string que contiene el
# AQUI!!! <—— subset (slice o corte) de los elementos
canActivate: [CanActivateTeam]
}
TitleCasePipe Capitaliza cada palabra del string que este
])
], separado por espacios
providers: [CanActivateTeam, UserToken, Permissions]
})

RxJS - Of
class AppModule {}

cial Docs
RxJS, es una librería incluída en Angular para poder
Pero también se puede de nir en línea con la siguiente trabajar con observables y en sí, la programación
función.
reactiva.

@NgModule({
imports: [
RouterModule.forRoot([ Hay muchos operadores y funciones para generar
{ observables que se usan en Angular, considere
path: 'team/:id', estudiar RxJS para poder reducir la cantidad de
component: TeamComponent,
canActivate: [ código de los observables y hacer el trabajo más
(route: ActivatedRouteSnapshot, state: simple.

RouterStateSnapshot) => true


]
} Pueden ver mis cursos de Angular y RxJs Aquí

])
],
})
class AppModule {}

La clave de los Guards, es que deben de retornar un


valor Boolean si quieren dejar pasar la petición.
También puede ser una promesa que resuelva un
boolean o un observable que emita un boolean.

Cursos y cupones en fernando-herrera.com

fi

fi

fi

fi

Angular sssssss
sssssss
Guia de atajos
sssssss

Glosario de Términos RXJS

Es una librería pre-cargada en Angular para trabajar


con programación reactiva. Básicamente todo lo
Angular y AngularJS
relacionado a Observables, es de rxjs.

Angular es el framework de Google, es el sucesor de la


librería AngularJS, la cual ya está obsoleta.

Pipe
Angular y AngularJS son dos cosas distintas.
Objeto que permite transformar de manera visual la
información que mostraremos en pantalla sin mutar la
Inyección de dependencias - DI
data real.

También conocido como DI, es un patrón de diseño en


la cual una clase requiere una o más dependencias Module
para poder inicializarse.
Son contenedores para realizar la cohesion de código
que tiene funcionamiento en común. Este
Usualmente esas dependencias ya están inicializadas funcionamiento común puede ser un ujo de trabajo,
en otro lugar y el componente utiliza esa misma conjunto de capacidades o código dedicado a un
instancia.
dominio de la aplicación.

Observable
camelCase
Es un objeto en el cual a lo largo del tiempo, puede Usarlo para variables, métodos, propiedades.

estar emitiendo diferentes valores.

Usualmente cuando hablamos de “suscribimos a los UpperCamelCase


observables”, signi ca estar escuchando las Usarlo para nombres de clases e interfaces.

emisiones que ese objeto estará emitiendo a lo largo


de su vida.

dash-case / kebab-case
Usarlo para describir nombres de archivos y selectores
Components
de componentes.

Usualmente es un archivo que está compuesto por


una clase controladora escrita en TypeScript, un
template HTML que puede estar separado y un archivo UPPER_UNDERSCORE_CASE
de CSS opcional. También se puede juntar con los UPPER_SNAKE_CASE: Usarlo tradicionalmente para
archivos de pruebas.
constantes de compilación.

Directives - Directivas

Hay varios tipos de directivas, pero en sí, nos permiten


Change Detection
cambiar el comportamiento de elementos HTML o Es el mecanismo en el cual Angular sincroniza el
componentes personalizados.
estado del UI con el estado de la aplicación.

Adicionalmente Angular cuenta con varias directivas


propias como ngSwitch, *ngFor y ngIf.
Decorator
Es una simple función que modi ca una clase o
Guard
propiedad. Básicamente añade una funcionalidad o
Es un tipo de middleware, middleman, o guardia de comportamiento especí co.

acceso. Es un objeto que está pendiente si alguien


puede entrar, cargar o salir de una ruta.

Poly ll
Usualmente es una forma en la cual podemos expandir
Interceptor
el soporte a plataformas que no cuentan con lo que
Es un objeto que brinda un mecanismo para
necesitamos para correr un proceso.

interceptar y/o mutar las solicitudes y respuestas


HTTP.

Cursos y cupones en fernando-herrera.com


sEApunsbPgffao

fi

fi

fi

fi

fl

También podría gustarte