Próbuję dowiedzieć się, jak uzyskać szerokość okna na zmiany rozmiaru zdarzeń w Angular2. Tu jest mój kodu:Angular2 uzyskać szerokość okna 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());
};
}
jestem importowania dostawcy okien globalnie w pliku bootstrap.ts użyciem zapewnić, aby uzyskać dostęp do aplikacji w całym moim oknem. Problem, który mam, polega na tym, że daje mi rozmiar okna, ale zmienia rozmiar okna - po prostu powtarza ten sam rozmiar, nawet jeśli okno zmienia rozmiar. Zobacz obraz console.log przykład: Screenshot image
Moim nadrzędnym celem jest, aby być w stanie określić liczbę okien do zmiennej onresize więc mogę mieć do niego dostęp w szablonie. Jakieś pomysły na temat tego, co robię źle tutaj?
Dzięki!
dlaczego skomentujesz @Hostlistener? Dla mnie działa tylko bez ukośników komentarza, ale wtedy działa idealnie :-) –
Jest rozumiany jako alternatywny sposób. Możesz dodać go do elementu w szablonie, jak pokazano w pierwszym wyciętym kodzie lub użyć '@HostListener()' do odsłuchiwania samego elementu hosta komponentów. Zaktualizowałem swoją odpowiedź, aby było bardziej zrozumiałe. –