Я использую Nativescript + Angular, и это мой код:
<ScrollView class="body" id="scroll" #scroll (scroll)="scrollEvent($event);">
<StackLayout #stackScroll>
<ng-template ngFor let-card [ngForOf]="allList">
<StackLayout [card]="card">
<my-custom-component [aCard]="card"></my-custom-component>
</StackLayout>
</ng-template>
</StackLayout>
</ScrollView>
Я использовал этот фрагмент кода, и он прекрасно работает:
https://discourse.nativescript.org/t/how-to-detect-if-component-is-in-screen-view-is-visible/1148/4
Я могу изменить цвет фона «StackLayout» внутри «ng-template».
Но я не могу получить доступ к переменным своего пользовательского компонента, чтобы изменить его поведение.
Например, если отображается «my-custom-component», я хочу изменить свойство «isShown» в объекте «card», переданном в атрибуте «aCard».
Спасибо всем:)
EDIT1:
isShown - это пользовательская переменная, которую я использовал для этого теста. Моя идея состоит в том, чтобы вычислить в функции afterScroll, какие карты видны, и передать aCard параметр, чтобы изменить его поведение.