vue+jquery懒加载数据

26 篇文章 0 订阅
13 篇文章 0 订阅
 <ul class="my_member_list ">
   <li v-for="item in list">
        {{item.name}}       
  </li>
</ul>
new Vue({
        el: '#app',
        data() {
            return {
                form: {
                    userId: myRoomMes.userId,
                    page: 1,
                    rows: 10,
                    token: myRoomMes.token,
                },
                clubId: GetQueryString("clubId"),
//                roomMes:roomMes,
                list: [],
                total: 0,
                //懒加载
                layerIndex: '',
                isscroll: true,
            }
        },
        created() {
            this.getApplicants()
        },
        methods: {
         getApplicants(){
                var vm = this;
                $.ajax({
                    type: 'POST',
                    url: baseUrl + "/getApplicants",
                    data: vm.form,
                    beforeSend: function () {
                        vm.layerIndex = layer.load(1);
                    },
                    success: function (result) {
                        layer.close(vm.layerIndex)
                        if (result.status == 200) {
                            if (!result.data) {
                                layer.msg(vm.form.page + '页,后台没有返回数据!');
                                vm.isscroll = false
                                return;
                            }
                            if (vm.form.page == 1)
                            {
                                vm.list=[];
                            }
                            vm.total = Math.ceil(result.total / vm.form.rows);
                            vm.list.push.apply(vm.list, result.data);
                            if (vm.form.page == 1)
                            {
                                vm.onscroll()
                            }
                        }
                        layer.msg(result.message)
                    },
                    error:function () {
                    }
                });
            },
         onscroll() {
                var index;
                var vm = this;
                var dom = $('.container')
                dom.scroll(function (event) {
                    var $this = dom,
                        viewH = $(this).height(),//可见高度
                        contentH = $(this).get(0).scrollHeight,//内容高度
                        scrollTop = $(this).scrollTop();//滚动高度

                    if (scrollTop / (contentH - viewH) >= 0.90) { //到达底部100px时,加载新内容

                        if (vm.form.page >= vm.total || !vm.isscroll) {
                            layer.close(index)
                            if (contentH - viewH - scrollTop <= 25) {
                                index = layer.msg('已加载所有列表!');
                            }
                            return
                        }
                        vm.form.page++;
                        vm.getApplicants();
                    }
                });
            },
            }
      })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VuejQuery 都是前端开发中非常流行的 JavaScript 框架和库,它们各自有着自己的优缺点和适用场景。下面是 VuejQuery 的对比: 1. 框架和库的区别 Vue 是一款轻量级的 MVVM 框架,它提供了一整套构建用户界面的解决方案,包括数据绑定、组件化、路由管理和状态管理等,可以快速构建单页面应用和复杂的前端应用。而 jQuery 则是一个轻量级的 JavaScript 库,它主要用于简化 DOM 操作和事件处理,可以方便地进行页面交互和动态效果的实现。 2. 语法和使用方式的区别 Vue 使用了类似 HTML 的模板语法,通过指令和表达式来实现数据绑定、事件绑定和组件渲染等功能,可以将逻辑和视图分离。而 jQuery 则是基于链式调用的函数式编程风格,通过选择器和方法来操作 DOM 元素和处理事件,可以快速地实现页面交互和动态效果。 3. 组件化开发的支持 Vue 支持组件化开发,可以将一个页面拆分成多个组件进行开发和维护,每个组件都有自己的模板、脚本和样式,可以方便地进行复用和扩展。而 jQuery 则没有原生支持组件化开发,需要手动管理 DOM 元素和事件的绑定,容易导致代码结构混乱和重复的代码。 4. 数据流和状态管理的处理方式 Vue 提供了响应式的数据绑定机制和 Vuex 状态管理库,可以方便地管理组件之间的数据流和状态共享,可以实现组件之间的高效通信和数据交互。而 jQuery 则需要手动处理数据流和状态管理,容易出现数据冲突和代码耦合的问题。 5. 性能和体积的比较 Vue 通过虚拟 DOM 和异步更新机制来提高性能和渲染效率,可以快速响应用户操作和更新页面内容,同时也可以通过按需和 Tree shaking 等技术来减小打包体积。而 jQuery 则由于是基于 DOM 操作的库,性能较低,同时也存在着较大的体积和依赖关系,需要手动进行优化和压缩。 综上所述,VuejQuery 都有各自的优劣和适用场景,需要根据项目需求和开发经验来选择合适的框架或库。如果需要构建复杂的前端应用或需要高效地管理数据流和状态,可以选择 Vue;如果只是需要实现简单的页面交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值