【发布时间】:2019-01-24 09:54:51
【问题描述】:
我使用 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>
我使用了这个 sn-p 的代码,效果很好:
https://discourse.nativescript.org/t/how-to-detect-if-component-is-in-screen-view-is-visible/1148/4
我可以更改“ng-template”中“StackLayout”的背景颜色。
但我无法访问我的自定义组件变量来修改他的行为。
例如,如果显示“my-custom-component”,我想更改“aCard”属性中传递的“card”对象中的“isShown”属性。
谢谢大家:)
编辑1: “isShown”是我用于此测试的自定义变量。我的想法是在 afterScroll 函数中计算可见的卡片是什么,并将参数传递给 aCard 以改变他的行为。
【问题讨论】:
-
相信你说的是原生android视图的
isShown属性。在这种情况下,您的组件本身已经具有该值,所以请问您为什么要在aCard中传递它? -
不,“isShown”是我用于此测试的自定义变量。我的想法是在 afterScroll 函数中计算可见的卡片是什么,并将参数传递给 aCard 以改变他的行为。可以使用android的本机属性吗?怎么样?
-
我认为如果视图可见或隐藏,则返回“isShown”,而不是在屏幕中可见时返回
标签: nativescript visibility show-hide angular2-nativescript nativescript-angular