• 技术文章 >web前端 >js教程

    vue.js加载新的内容

    巴扎黑巴扎黑2017-06-26 15:02:51原创772
    vue是一种轻巧便捷的框架,那么如何进行对于数据加载的刷新呢?以下就是我对于vue.js数据加载的一点想法

    源码:

    <div @scroll="onScroll($event)" style="height: 100%;overflow: auto;">
      <ul class="shop-brand-index" v-show="sitems.length > 0" >
        <li v-for="item in sitems">
          <div @click="linkUrl(item.code)"><img v-bind:src="item.publicImg"></div>
        </li>
      </ul>
      <div class="loading_wrap myload disn">
        <p>加载中...</p>
        <i class="loading"></i>
      </div>
    </div>

    解析:

    $(function() {
        var pageNum = 1;
        var pageSize = 6;
        vue = new Vue({
        el: '#app',
        data: {
          items: [],
          pageNum: pageNum,
          pageSize: pageSize,
          rawItems: [],
          sitems:[]
        },
        methods: {
          getList: function() {
          $.showLoading();
            this.$http.get(store.list, {
              pageNum: pageNum,
              pageSize: pageSize
          }).then(function(result) {
          $.removeLoading();
            this.sitems = result.data.data.items;
          }, function() {
            $.removeLoading();
            $.showAlert({
            'title': '提示',
            'content': "页面偷懒了~~",
            'sure': this.close
            });
          })
        },
        close: function() {
          history.go(-1);
        },
        onScroll: function(event) {
          var offsetHeight = event.currentTarget.offsetHeight,
          scrollHeight = event.target.scrollHeight,
          scrollTop = event.target.scrollTop,
          scrollBottom = offsetHeight + scrollTop;
          if(scrollBottom == scrollHeight+10 ||scrollBottom == scrollHeight) {
           if(this.pageNum == Math.ceil(this.rawItems.length / this.pageSize)) {
            return
           }
           this.pageNum++;
           pageNum++;
           $(".myload").removeClass("disn");
           vue.$http.get(store.list, {
             pageNum: pageNum,
             pageSize: pageSize
           }).then(function(result) {
              setTimeout(function() {
                $(".myload").addClass("disn");
                vue.sitems = vue.sitems.concat(result.data.data.items);
              }, 2000)
            }, function() {
             $(".myload").addClass("disn");
            })
          }
        },
      },
        ready: function() {
          this.getList();
          for(var i = 0; i <= 1000; i++) {
            this.rawItems.push(i)
          }
        }
      })
    })

    以上就是vue.js加载新的内容的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:js计算字符串长度的方法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 浅析Angular变更检测中的DOM更新机制• 一文带你深入了解Node中的Buffer类• Angular开发问题记录:组件拿不到@Input输入属性• 聊聊基于Node实现单点登录(SSO)的方法• 深入了解Angular(新手入门指南)
    1/1

    PHP中文网