Я знаю, что этот вопрос задавался ранее, но ни одно из решений не помогло мне.
Я работаю над проектом Angular-6.Я пытаюсь получить событие Window-Scroll в одном из компонентов с именем SectionComponent .
Стили тегов html и body :
html, body {
overflow: auto;
position: relative;
margin: 0;
height: 100%;
}
Ниже приведена иерархия компонентов , которая объясняет, как компоненты управляются.
My AppComponent :
HTML:
<div id="wrapper">
<router-outlet></router-outlet>
</div>
CSS:
#wrapper {
width: 100vw;
height: 100vh;
position: relative;
overflow: auto;
}
app.component.ts:
@HostListener('window:scroll', [])
onWindowScroll() {
console.log('scroll');
}
AppComponent загружает компонент с именем HomeComponent в тег router-outlet .Этот HomeComponent загружает SectionComponent , используя селектор.
My HomeComponent:
HTML:
<div class="home-wrapper">
<div>
<!-- Some content more that window height -->
</div>
<app-section></app-section>
</div>
CSS:
.home-wrapper {
position: relative;
overflow-y: auto;
height: 100%;
}
home.component.ts:
@HostListener('window:scroll', [])
onWindowScroll() {
console.log('scroll');
}
My SectionComponent
HTML:
<div class="section-wrapper">
<!-- Some content more than window height -->
</div>
CSS:
.section-wrapper {
position: relative;
height: 2241px;
}
section.component.ts:
@HostListener('window:scroll', [])
onWindowScroll() {
console.log('scroll');
}
Я хочу использовать Window-Scroll только в SectionComponent .Но ни один из компонентов не запускает событие.Что я делаю не так?