Aquí está mi código:
import { Component, ViewChildren, QueryList } from '@angular/core';
@Component({
selector: 'app-component',
templateUrl: './app.component.html',
})
export class AppComponent {
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
@ViewChildren('myList') things: QueryList<any>;
ngAfterViewInit() {
this.things.changes.subscribe((t) => {
alert('width: ' + t.last.nativeElement.width);
});
}
}
Me gustaría obtener (y establecer, más tarde, por ejemplo) atributos de estilo en el último elemento de la ul, tal ancho. De esta manera, puedo editar el ancho después de que el elemento se haya agregado al DOM y aprovechar la transición css.
¿Pero parece que no puede acceder a esa t.last
propiedad de ancho? (es decir, indefinido)
Solución del problema
UsaroffsetWidth
alert('width: ' + t.last.nativeElement.offsetWidth);
en cuanto a la "animación", angular proporciona un marco para hacerlo, de modo que no tenga que modificar manualmente los atributos de los elementos DOM. Simplemente declara el "estado" del elemento, angular hace la parte difícil de descubrir cómo hacer la transición de un estado a otro y lo aplica.
https://stackblitz.com/edit/angular-ivy-akmzyz?file=src%2Fapp%2Fapp.component.ts
No hay comentarios.:
Publicar un comentario