鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 移動端如何監(jiān)聽滾動

移動端如何監(jiān)聽滾動

做了個搜索功能,搜索后獲取數(shù)據(jù)刷新列表。
但是后臺做了分頁,因?yàn)槿绻训降膬?nèi)容足夠的多,就不太合適了。
這里的解決是,后臺一次只返回15條數(shù)據(jù),
等到滾動到快完的時候,再請求,把目前的最后一條數(shù)據(jù)的id(第15條的id)返給后臺,可以請求16-30條數(shù)據(jù)……以此類推。

但是做的是移動端,用的vue和weui,然后我聽同事說移動端沒有scroll事件,但是我搜的話搜到一些插件(比如better-scroll等)

問題是,我不太想用插件,能不能自己實(shí)現(xiàn)一個,滾動監(jiān)聽:
比如:div高度200px,獲取的15條內(nèi)容高度是300px,等滾動到90%左右的時候,請求后臺獲取數(shù)據(jù)push到當(dāng)前數(shù)據(jù)。

下面貼個圖:

圖片描述

代碼其實(shí)……貼不貼就那樣了,懂我描述的意思就行,我想我描述的應(yīng)該很明確了,不過以防……emm……還是貼點(diǎn)沒什么卵用的代碼:

<template>
    <div>
        <div>
            <input v-model="value" />
            <button>搜索</button>
        </div>
        <div class="searchListBox">
            <ul>
                <li v-for="item in items">{{item.nam}}</li>
            </ul>
        </div>
    </div>
</template>

<script>
export default {
    data() {return{
        items: []
    }},
    methods: {
        getData() {
            //這里就是ajax請求數(shù)據(jù)
            this.items = data;
        }
    }
}
</script>

代碼完畢。
先在這里謝謝各位大神了,小弟不才,代碼垃圾,還望大神們海涵。

回答
編輯回答
薄荷糖

有滾動時間,直接偵聽容器的 scroll 事件即可。

2017年4月30日 04:29
編輯回答
念舊
mounted() {
    document.addEventListener('scroll', () => {
    })
}

2017年9月26日 11:28