0% encontró este documento útil (0 votos)
80 vistas4 páginas

Cambios de Angular 16

Las actualizaciones de Angular 16 incluyen mejoras como la aplicación de señales reactivas, una hidratación no destructiva que mejora el SEO y la implementación de entradas obligatorias de componentes para mantener la integridad de los datos. También incluye nuevas APIs para depurar dependencias, soporte para Tailwind CSS y tipos de valores de confianza para prevenir ataques XSS.
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
80 vistas4 páginas

Cambios de Angular 16

Las actualizaciones de Angular 16 incluyen mejoras como la aplicación de señales reactivas, una hidratación no destructiva que mejora el SEO y la implementación de entradas obligatorias de componentes para mantener la integridad de los datos. También incluye nuevas APIs para depurar dependencias, soporte para Tailwind CSS y tipos de valores de confianza para prevenir ataques XSS.
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 DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

Actualizaciones de angular 16

- Aplicación de signals:
Aplicación de interfaz reactiva (más intuitivo que librería RXJS)

- Mejora en el renderizado del SEO (Hidratación):


Hidratación no destructiva que no cambia contenido HTML, por lo cual no crea conflictos

- Entradas obligatorias del componente:


Para evitar problemas en términos de entrada de dato se implementó las entradas o
bingins obligatorio, son iguales a los anteriores, solo que se les agrega la propiedad
“{{required: true}}, en el caso de ser obligatorios, esto permite mantener la persistencia de
los datos que el creador asigna como obligatorios para un funcionamiento optimo del
componente.

@Component({})
class HomeComponent {
@Input({required: true}) someRequiredInput;
}

- Api de depuración de inyección de dependencias:


Se puede hacer depuración de tokens, inyectores, ámbitos e instancias de tus
dependencias, también se puede usar la Api de angular para simular diferentes casos de
prueba para las dependencias, esto ayuda a la creación de documentación.

- Soporte para Tailwind CSS (se puede seguir usando el patrón SCSS):
Es un popular framework CSS (utility-first) que permite dar estilo a tus componentes con
clases en lugar de CSS personalizado
- Soporte para trusted Types nativos:
Ayuda a prevenir ataques de cross-site-scripting (XSS) mediante la aplicación de reglas
estrictas sobre cómo se utilizan las cadenas en contexto sensible (versiones de angular lo
manejan, pero este cambio en Angular permite proteger nuevos campos posibles para ese
ataque)

// Import the createTrustedHTML function


import { createTrustedHTML } from '@angular/core';

// Create a component that uses Trusted Types


@Component({
selector: 'app-hello',
template: `
<div [innerHTML]="message"></div>
`
})
export class HelloComponent {
// Create a trusted HTML value using the createTrustedHTML function
message = createTrustedHTML('<h1>Hello, world!</h1>');
// Alternatively, use the safevalues library to create trusted values
// import { createHtml } from 'safevalues/implementation/html_impl';
// message = createHtml('<h1>Hello, world!</h1>');
}

- Soporte para importaciones dinámicas de datos de enrutador:


Una nueva forma de obtener información del enrutador en los componentes sin tener que
inyectar “ActivedRoute”, Con esta función, se puede vincular algunos datos del enrutador a
las entradas de su componente (parámetros de ruta, los datos, parámetros de consulta, el
fragmento y la url), esto sirve para código simple y limpio

Pasar de:

// Import the ActivatedRoute service


import { ActivatedRoute } from '@angular/router';

// Inject the ActivatedRoute service in the constructor


constructor(private route: ActivatedRoute) {}

// Use the ActivatedRoute service to get the router data


ngOnInit() {
// Get the route params
this.route.params.subscribe(params => {
// Do something with params
});

// Get the route data


this.route.data.subscribe(data => {
// Do something with data
});

// Get the query params


this.route.queryParams.subscribe(queryParams => {
// Do something with queryParams
});

// Get the fragment


this.route.fragment.subscribe(fragment => {
// Do something with fragment
});

// Get the url


this.route.url.subscribe(url => {
// Do something with url
});
}

A código más limpio como:

// Define the component inputs for the router data


@Input() params: Params;
@Input() data: Data;
@Input() queryParams: Params;
@Input() fragment: string;
@Input() url: UrlSegment[];

// Use the component inputs to get the router data


ngOnInit() {
// Do something with params
// Do something with data
// Do something with queryParams
// Do something with fragment
// Do something with url
}

También podría gustarte