21 KiB
Cheat Sheet
Bootstrapping |
|
---|---|
platformBrowserDynamic().bootstrapModule(AppModule); |
Carga la app, usando el componente raíz del |
NgModules |
|
---|---|
@NgModule({ declarations: ..., imports: ..., |
Define un módulo que contiene componentes, directivas, pipes y proveedores. |
declarations: [MyRedComponent, MyBlueComponent, MyDatePipe] |
Lista de componentes, directivas y pipes que pertenecen a este módulo. |
imports: [BrowserModule, SomeOtherModule] |
Lista de módulos para importar en este módulo. Todo, desde los módulos importados,
está disponible para las declaraciones ( |
exports: [MyRedComponent, MyDatePipe] |
Lista de componentes, directivas y pipes visibles a los módulos que importan este módulo. |
providers: [MyService, { provide: ... }] |
Lista de proveedores de inyección de dependencias visibles tanto para los contenidos de este módulo como para los importadores de este módulo. |
entryComponents: [SomeComponent, OtherComponent] |
Lista de componentes no referenciados en cualquier plantilla accesible, por ejemplo, creada dinámicamente a partir de código. |
bootstrap: [MyAppComponent] |
Lista de componentes a empaquetar cuando este módulo se inicia. |
Sintaxis de plantilla | ||
---|---|---|
<input [value]="firstName"> |
Vincula la propiedad |
|
<div [attr.role]="myAriaRole"> |
Vincula el atributo |
|
<div [class.extra-sparkle]="isDelightful"> |
Vincula la presencia de la clase CSS |
|
<div [style.width.px]="mySize"> |
Vincula la propiedad de estilo |
|
<button (click)="readRainbow($event)"> |
Llama al método |
|
<div title="Hola {{ponyName}}"> |
Vincula una propiedad a una cadena interpolada, por ejemplo, "Hola Seabiscuit". Equivalente a: | Binds a property to an interpolated string, for example, "Hello Seabiscuit". Equivalent to:
|
<p>Hola {{ponyName}}</p> |
Vincula el contenido de texto a una cadena interpolada, por ejemplo, "Hola Seabiscuit". |
|
<my-cmp [(title)]="name"> |
Establece el two-way data binding. Equivalente a: |
|
<video #movieplayer ...> |
Crea una variable local |
|
<p *myUnless="myExpression">...</p> |
El símbolo |
|
<p>Card No.: {{cardNumber | myCardNumberFormatter}}</p> |
Transforma el valor actual de la expresión |
|
<p>Employer: {{employer?.companyName}}</p> |
El operador de navegación seguro ( |
|
<svg:rect x="0" y="0" width="100" height="100"/> |
Una plantilla de fragmento SVG necesita un prefijo |
|
<svg> |
Un elemento raíz |
Te permite asignar estilos a un elemento HTML usando CSS. Puedes usar CSS directamente, como en el primer ejemplo, o puedes llamar a un método desde el componente.
Directivas incorporadas |
|
---|---|
<section *ngIf="showSection"> |
Elimina o recrea una parte del árbol DOM basado en la expresión |
<li *ngFor="let item of list"> |
Convierte el elemento li y su contenido en una plantilla, y lo utiliza para crear una vista por cada elemento de la lista. |
<div [ngSwitch]="conditionExpression"> |
Intercambia condicionalmente el contenido del div seleccionando una de las plantillas incrustadas en función del valor actual de |
<div [ngClass]="{'active': isActive, 'disabled': isDisabled}"> |
Vincula la presencia de clases CSS en el elemento a la veracidad de los valores de mapa asociados. La expresión de la derecha debería devolver el mapa {class-name: true/false}. |
<div [ngStyle]="{'property': 'value'}"> <div [ngStyle]="dynamicStyles()"> |
Formularios |
|
---|---|
<input [(ngModel)]="userName"> |
Provee two-way data-binding, conversión y validación para controles de formulario. |
Decoradores de clases |
|
---|---|
@Component({...}) |
Declara que una clase es un componente y proporciona metadatos sobre el componente. |
@Directive({...}) |
Declara que una clase es una directiva y proporciona metadatos sobre la directiva. |
@Pipe({...}) |
Declara que una clase es una pipe y proporciona metadatos sobre la pipe. |
@Injectable() |
Declara que una clase puede ser proporcionada e inyectada por otras clases. Sin este decorador, el compilador no generará suficientes metadatos para permitir que la clase se cree correctamente cuando se inyecta en alguna parte. |
Configuración de Directiva |
|
---|---|
selector: '.cool-button:not(a)' |
Especifica un selector CSS que identifica esta directiva dentro de una plantilla. Los selectores compatibles incluyen No soporta selectores de relación padre-hijo. |
providers: [MyService, { provide: ... }] |
Lista de proveedores de inyección de dependencia para esta directiva y sus hijos. |
Configuración de Componente |
|
---|---|
moduleId: module.id |
Si está presente, el |
viewProviders: [MyService, { provide: ... }] |
Lista de proveedores de inyección de dependencias en la vista de este componente. |
template: 'Hola {{name}}' |
Plantilla en línea o URL de plantilla externa de la vista del componente. |
styles: ['.primary {color: red}'] |
Lista de estilos CSS en línea o URL de hojas de estilo externas para estilar la vista del componente. |
Decoradores para los campos de la clase para directivas y componentes. |
|
---|---|
@Input() myProperty; |
Declara una propiedad de entrada (input) que puede actualizar mediante el enlace de propiedad (property binding) (ejemplo:
|
@Output() myEvent = new EventEmitter(); |
Declara una propiedad de salida (output) que dispara eventos a los que puedes suscribirse con un enlace de evento (event binding) (ejemplo: |
@HostBinding('class.valid') isValid; |
Vincula una propiedad del elemento anfitrión (aquí, la clase CSS |
@HostListener('click', ['$event']) onClick(e) {...} |
Se suscribe a un evento del elemento anfitrión ( |
@ContentChild(myPredicate) myChildComponent; |
Vincula el primer resultado de la consulta de contenido del componente ( |
@ContentChildren(myPredicate) myChildComponents; |
Vincula los resultados de la consulta de contenido del componente ( |
@ViewChild(myPredicate) myChildComponent; |
Vincula el primer resultado de la consulta de vista del componente ( |
@ViewChildren(myPredicate) myChildComponents; |
Vincula los resultados de la consulta de vista del componente ( |
Detección de cambios (change detection) y ciclos de vida (lifecycle hooks) en directivas y componentes | (implementado como métodos de clase) |
---|---|
constructor(myService: MyService, ...) { ... } |
Se llama antes que cualquier ciclo de vida. Úselo para inyectar dependencias, pero evite cualquier trabajo serio aquí. |
ngOnChanges(changeRecord) { ... } |
Se llama después de cada cambio en las propiedades de entrada (input) y antes de procesar contenido o vistas de hijos. |
ngOnInit() { ... } |
Se llama después del constructor, inicializando propiedades de entrada (input), y la primera llamada a |
ngDoCheck() { ... } |
Se llama cada vez que se verifican las propiedades de entrada (input) de un componente o una directiva. Úselo para extender la detección de cambios (change detection) realizando una verificación personalizada. |
ngAfterContentInit() { ... } |
Se llama después de |
ngAfterContentChecked() { ... } |
Se llama después de cada verificación del contenido del componente o directiva. |
ngAfterViewInit() { ... } |
Se llama después de |
ngAfterViewChecked() { ... } |
Se llama después de cada verificación de las vistas del componentes y las vistas hijas / la vista en la que se encuentra una directiva. |
ngOnDestroy() { ... } |
Se llama una vez, antes de que la instancia se destruya. |
Configuración de inyección de dependencia | |
---|---|
{ provide: MyService, useClass: MyMockService } |
Establece o sobre-escribe el proveedor para |
{ provide: MyService, useFactory: myFactory } |
Establece o sobre-escribe el proveedor para |
{ provide: MyValue, useValue: 41 } |
Establece o sobre-escribe el proveedor para |
Enrutamiento y navegación |
|
---|---|
const routes: Routes = [ |
Configura rutas para la aplicación. Soporta rutas estáticas, parametrizadas, de redireccionamiento y comodines. También soporta datos de ruta personalizados y los resuelve. |
|
Marca la ubicación para cargar el componente de la ruta activa. |
|
Crea un enlace a una vista diferente basada en una instrucción de ruta que consta de un camino de de ruta, parámetros obligatorios y opcionales, parámetros de consulta y un fragmento. Para navegar a un camino de ruta, usa el prefijo |
<a [routerLink]="[ '/path' ]" routerLinkActive="active"> |
Las clases proporcionadas se agregan al elemento cuando el |
class CanActivateGuard implements CanActivate { |
Una interfaz para definir una clase que el enrutador debe llamar primero para determinar si debe activar este componente. Debe devolver un boolean|UrlTree o un Observable/Promise que se resuelba en un boolean|UrlTree. |
class CanDeactivateGuard implements CanDeactivate<T> { |
Una interfaz para definir una clase que el enrutador debería llamar primero para determinar si debería desactivar este componente después de una navegación. Debe devolver un boolean|UrlTree o un Observable/Promise que se resuelva a boolean|UrlTree. |
class CanActivateChildGuard implements CanActivateChild { |
Una interfaz para definir una clase que el enrutador debe llamar primero para determinar si debe activar la ruta hija. Debe devolver un boolean|UrlTree o un Observable/Promise que se resuelva en un boolean|UrlTree. |
class ResolveGuard implements Resolve<T> { |
Una interfaz para definir una clase que el enrutador debe llamar primero para resolver los datos de la ruta antes de representar la ruta. Debe devolver un valor o un Observable/Promise que se resuelva en un valor. |
class CanLoadGuard implements CanLoad { |
Una interfaz para definir una clase a la que el enrutador debe llamar primero para verificar si el módulo perezoso cargado (lazy loaded module) debe cargarse. Debe devolver un boolean|UrlTree o un Observable/Promise que se resuelva en un boolean|UrlTree. |