Cercando di capire come ottenere la larghezza della finestra sul ridimensionamento degli eventi in Angular2. Qui è il mio codice:Angular2 ottiene la larghezza della finestra onResize
export class SideNav {
innerWidth: number;
constructor(private window: Window){
let getWindow = function(){
return window.innerWidth;
};
window.onresize = function() {
this.innerWidth = getWindow();
console.log(getWindow());
};
}
Sto importando fornitore finestra a livello globale nel file bootstrap.ts usando fornire per ottenere l'accesso in tutta la mia app per finestra. Il problema che sto avendo è che mi dà una dimensione della finestra, ma sul ridimensionamento della finestra - ripete semplicemente la stessa dimensione più e più volte anche se la finestra cambia dimensione. Vedi immagine per esempio console.log: Screenshot image
Il mio obiettivo generale è quello di essere in grado di impostare il numero di finestra per un onResize variabile in modo che io possa avere accesso ad esso nel modello. Qualche idea su cosa sto facendo male qui?
Grazie!
perché ha fatto commenta @Hostlistener? Per me funziona solo senza le barre di commento, ma poi funziona perfettamente :-) –
È inteso come un modo alternativo. Puoi aggiungerlo a un elemento nel modello come mostrato nel primo codice tagliato o usare un '@HostListener()' per ascoltare sull'elemento host dei componenti stesso. Ho aggiornato la mia risposta per renderla più chiara. –