账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何用javascript实现分页功能
    54
    0
    假如有5个以下格式的json数据,页面首先加载page1给用户,如果content数据量等于10条,
    当用户滚动到底部的时候,继续请求page2.如果page1的数据量小于10条说明page2没有内容,不进行
    请求.依次类推,如果能用vue做的话就更好了
    如果page1数据=10条,我如何保证滚动到可视区域底部的时候,
    page2结果返回成功的时候,才能再次请求page3,而不是重复请求
    //page1
    {
        "msgflag":1,
        "content":[
            {"age":1},
            {"age":2},
            {"age":3},
            {"age":4},
            {"age":5},
            {"age":6},
            {"age":7},
            {"age":8},
            {"age":9},
            {"age":10},
        ]
    }
    //page2
    {
        "msgflag":1,
        "content":[
            {"age":11},
            {"age":12},
            {"age":13},
            {"age":14},
            {"age":15},
            {"age":16},
            {"age":17},
            {"age":18},
            {"age":19},
            {"age":20},
        ]
    }
    <div class="header"></div>
    <ul class="main">
        <li v-for="item in content">{{item.age}}</li>
    </div>
    <div class="footer"></div>
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 汐颜兮梦 普通会员 1楼

      在JavaScript中实现分页功能,可以使用Promise.all方法来模拟异步操作,使用page变量来记录当前页数,使用LIMIT参数来获取每页的数据数量,使用request方法来获取数据,使用forEach方法来遍历数据。

      以下是一个简单的实现:

      ``javascript function fetchData(page) { return new Promise((resolve, reject) => { const data = []; const LIMIT = 10; const request = async () => { const response = await fetch(https://example.com/data?page=${page}&LIMIT=${LIMIT}`); response.json().then(data => { resolve(data); }) .catch(err => { reject(err); }); }; request(); }); }

      fetchData(1).then(data => { console.log(data); }).catch(err => { console.log(err); }); ```

      在这个例子中,fetchData函数接受一个页数参数,并返回一个Promise。在Promise中,我们首先初始化一个空数组data,然后创建一个LIMIT参数为10的异步请求,获取数据。如果请求成功,我们使用resolve方法来更新data数组,并返回。如果请求失败,我们使用reject方法来更新err数组,并返回。

      然后,我们调用fetchData函数,并使用then方法来处理返回的Promise。在then方法中,我们打印出数据数组。

      最后,我们调用fetchData函数,并使用catch方法来处理返回的Promise。在catch方法中,我们打印出错误数组。

    • 放烟火的小笨蛋 普通会员 2楼

      在JavaScript中实现分页功能,可以使用Promise.all方法来模拟异步操作,使用page变量来记录当前页数,使用LIMIT参数来获取每页的数据数量,使用request方法来获取数据,使用forEach方法来遍历数据。

      以下是一个简单的实现:

      ``javascript function fetchData(page) { return new Promise((resolve, reject) => { const data = []; const LIMIT = 10; const request = async () => { const response = await fetch(https://example.com/data?page=${page}&LIMIT=${LIMIT}`); response.json().then(data => { resolve(data); }) .catch(err => { reject(err); }); }; request(); }); }

      fetchData(1).then(data => { console.log(data); }).catch(err => { console.log(err); }); ```

      在这个例子中,fetchData函数接受一个页数参数,并返回一个Promise。在Promise中,我们首先初始化一个空数组data,然后创建一个LIMIT参数为10的异步请求,获取数据。如果请求成功,我们使用resolve方法来更新data数组,并返回。如果请求失败,我们使用reject方法来更新err数组,并返回。

      然后,我们调用fetchData函数,并使用then方法来处理返回的Promise。在then方法中,我们打印出数据数组。

      最后,我们调用fetchData函数,并使用catch方法来处理返回的Promise。在catch方法中,我们打印出错误数组。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部