基于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.boxy对话框插件代码
Oct 26 Javascript
JS获取并操作iframe中元素的方法
Mar 21 Javascript
javascript setinterval 的正确语法如何书写
Jun 17 Javascript
JavaScript控制网页层收起和展开效果的方法
Apr 15 Javascript
JavaScript实现的圆形浮动标签云效果实例
Aug 06 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
Aug 18 Javascript
下雪了 javascript实现雪花飞舞
Aug 02 Javascript
浅析js绑定事件的常用方法
May 15 Javascript
javascript数字验证的实例代码(推荐)
Aug 20 Javascript
简单易懂的天气插件(代码分享)
Feb 04 Javascript
Vuex之理解state的用法实例
Apr 19 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
Nov 01 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
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
PHP批量生成缩略图的代码
2008/07/19 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
2011/07/26 Javascript
js关闭当前页面(窗口)的几种方式总结
2013/03/05 Javascript
jquery ready函数、css函数及text()使用示例
2013/09/27 Javascript
jsPDF生成pdf后在网页展示实例
2014/01/16 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
python清除字符串前后空格函数的方法
2018/10/21 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
Python去除字符串前后空格的几种方法
2019/03/04 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
HTML5 对各个标签的定义与规定:body的介绍
2012/06/21 HTML / CSS
决定成败的关键——创业计划书
2014/01/24 职场文书
计算机实训报告范文
2014/11/05 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
教你如何使用Python Tkinter库制作记事本
2021/06/10 Python
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers