css - Golden-layout cu conținut interior receptiv
Folosesc Golden-layout în aplicația mea Angular 7 pentru a afișa unele componente ca widget-uri într-o grilă de widget-uri. Și toate widget-urile au posibilitatea de a fi redimensionate. Am nevoie, de exemplu, să măresc sau să micșorez font-size în timp ce redimensionez widget-ul.
Am încercat să folosesc vw pentru conținutul intern și alte lucruri care sunt comune pentru redimensionarea ferestrei. Dar nu a funcționat deoarece depinde de viewport și viewport-ul meu este încă același, doar că am schimbat dimensiunea widgetului.
Există opțiuni pentru a face conținutul din interiorul widget-urilor să fie receptiv?
Aici este un exemplu pe stackblitz (nu este al meu) - https://stackblitz.com/edit/angular-4aughc
Răspuns #1
În golden-layout, poți asculta evenimentul resize al unui container și apoi aplica orice modificări dorești odată ce este declanșat.
export class MyComponent {
constructor(@Inject("Container") public container: Container) {
container.on('resize', () => {
this.resize();
});
}
resize() {
if ($('.my-component').width() < 500) {
$('.my-component').addClass('smallText');
} else {
$('.my-component').removeClass('smallText');
}
}
}
Acest lucru v-ar permite să faceți lucruri pe baza dimensiunii containerului părinte în loc de dimensiunea ferestrei.
