基于Vue的延迟加载插件vue-view-lazy


Posted in Javascript onMay 21, 2018

基于vue的懒加载插件

目的:图片或者其他资源进入可视区域后加载

安装使用

  1. 直接下载dist目录下的vue-view-lazy.min.js使用
  2. 使用npm安装

直接使用

<div id="app">
  <span v-view-lazy @model="handleModel"></span>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<script src="./dist/vue-view-lazy.min.js"></script>
<script>
  Vue.use(vViewLazy.default,{});
  new Vue({
    el:'#app',
    data:{
      msg:'数据'
    },
    methods:{
      handleModel(){
        console.log('出现了');
      },
    },
  })
</script>

npm:

$ npm install --save-dev vue-view-lazy

引入vue-view-lazy

.main文件

import vView from 'vue-view-lazy'
Vue.use(vView,{
  error:'../../static/images/loading.png',
  loading:'../../static/images/loading.gif',
});

懒加载图片

.vue文件

<template>
  <ul id='img'>
    <li class="in" v-for="(item,i) in imgs" :key="i">
      <img src="#" alt="图片" v-view-lazy="item.src">
    </li>
  </ul>
</template>

<script>
  export default {
    data () {
      return {
        msg: 'Welcome to Your Vue.js App',
        imgs:[
          {src:'../../static/images/img1.jpg'},
          {src:'../../static/images/img2.png'},
          {src:'../../static/images/img2.jpg'},
          {src:'../../static/images/img3.jpg'},
          {src:'../../static/images/img4.jpg'},
          {src:'../../static/images/img5.jpeg'}, 
        ]
      }
    },
    mounted(){
    },
  }
</script>
<style scoped>
  ...
</style>

懒加载数据

.vue文件

<template>
  <div>
    <!--@model自定义事件是在该dom在第一次出现在视口内时触发的方法-->
    <!--v-view-lazy='method' 或 v-view-lazy='(e)=>method(e,...arg)'-->
    <div class="cnt" v-for="(v,i) in msg" :key="i" v-view-lazy @model="(e)=>getAjaxContent(e,v.msg)">
      loading...
    </div>
    <div class="cnt" v-for="(v,i) in msg" :key="i" v-view-lazy @model="getAjaxContent()">
      loading...
    </div>
  </div>
</template>

<script>
  export default {
    data(){
      return{
        msg:[]
      }
    },
    mounted(){
      fetch('http://localhost:3000/test').then(res=>res.json()).then(res=>{
        this.msg = res;
      })
    },
    methods:{
      getAjaxContent(event,msg){
        event.innerText = msg
      },
    }
  }
</script>

<style scoped>
  .cnt {
    /*background: #ececec;*/
    height: 500px;
    margin-bottom: 50px;
  }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery中animate用法实例分析
Mar 09 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
Apr 15 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
Oct 26 Javascript
BootStrap便签页的简单应用
Jan 06 Javascript
深入理解AngularJS中的ng-bind-html指令
Mar 27 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 jQuery
angularjs 页面自适应高度的方法
Jan 17 Javascript
Vuex实现计数器以及列表展示效果
Mar 10 Javascript
vue单页开发父子组件传值思路详解
May 18 Javascript
vue.js使用watch监听路由变化的方法
Jul 08 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
Apr 08 Javascript
小程序自定义轮播图圆点组件
Jun 25 Javascript
jQuery获取随机颜色的实例代码
May 21 #jQuery
JS实现常见的查找、排序、去重算法示例
May 21 #Javascript
vue组件jsx语法的具体使用
May 21 #Javascript
关于vue的语法规则检测报错问题的解决
May 21 #Javascript
JS实现520 表白简单代码
May 21 #Javascript
了解ESlint和其相关操作小结
May 21 #Javascript
vue2.0 实现导航守卫(路由守卫)
May 21 #Javascript
You might like
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
使用js实现数据格式化
2014/12/03 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
Python编程之微信推送模板消息功能示例
2017/08/21 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
python3下pygame如何实现显示中文
2020/01/11 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
夏威夷咖啡公司:Hawaii Coffee Company
2019/09/19 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
电大自我鉴定范文
2013/10/01 职场文书
大专生工程监理求职信
2013/10/04 职场文书
自荐信怎么写好
2013/11/11 职场文书
《理想》教学反思
2014/02/17 职场文书
化学教学随笔感言
2014/02/19 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
银行奉献演讲稿
2014/09/16 职场文书
党员自评材料范文
2014/12/17 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
Python进行区间取值案例讲解
2021/08/02 Python
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB
使用vuex-persistedstate本地存储vuex
2022/04/29 Vue.js