처음 화면이 로딩되었을때 Default로 실행하도록 하는 경우 onload 이벤트 핸들러를 사용.

<Page @loaded="read">    // <======= @onload 이벤트 핸들러를 이용하여 페이지 시작시 기본 실행
<ActionBar title="Main List">
<StackLayout>
<Image class="logo" src="~/assets/images/logo.png" /><Label :text="scrollText" />
</StackLayout>
</ActionBar>

<ScrollView @scroll="read">  // <====== @scroll 이벤트 핸드러를 이용하여 페지이 스크롤시 실행
<StackLayout>
<Post v-for="(item, index) in posts"
:key="index"
:Image="item.Image"
:Favor="item.Favor"
/>
</StackLayout>
</ScrollView>
</Page>

이 경우 페이지를 조금만 움직여도 바로 스크롤 이벤트가 발생하므로 이벤트 처리시에 이를 체크하도록 코드 추가

methods: {
    read(args) {
        if( ... &&  args.object.verticalOffset != undefined && args.object.scrollableHeight != undefined) {
            if ( args.object.verticalOffset < args.object.scrollableHeight * 0.99 ) {
                return true;
            }
        }

스크롤 이벤트 발생시 넘어온 args 파라미터는 다음이 속성들을 가지고 체크할 수 있음.

//args.object.getMeasuredHeight() : 화면상 높이
//args.object.effectiveHeight :
//args.object.height : css 상 높이. 보통 auto
//args.object.scrollableHeight : scroll bar 로 나타낼 수 있는 최대 높이

By yaplab

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다