基于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 相关文章推荐
JavaScript学习笔记(十七)js 优化
Feb 04 Javascript
jQuery学习笔记之DOM对象和jQuery对象
Dec 22 Javascript
原始的js代码和jquery对比体会
Sep 10 Javascript
javascript中数组方法汇总
Jul 07 Javascript
JavaScript正则表达式匹配 div  style标签
Mar 15 Javascript
JavaScript常用判断写法大全(推荐)
May 30 Javascript
jQuery实现的自定义弹出层效果实例详解
Sep 04 Javascript
详细谈谈AngularJS的子级作用域问题
Sep 05 Javascript
浅谈JQ中mouseover和mouseenter的区别
Sep 13 Javascript
老生常谈javascript的类型转换
Oct 12 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
Mar 09 Javascript
使用JavaScript解析URL的方法示例
Mar 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
火影忍者:三大瞳力之一的白眼,为什么没有写轮眼那么出色?
2020/03/02 日漫
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
jquery 最简单的属性菜单
2009/10/08 Javascript
toString()一个会自动调用的方法
2010/02/08 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
Python实现去除代码前行号的方法
2015/03/10 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
百联网上商城:i百联
2017/01/28 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
超市实习总结自我鉴定
2013/09/19 职场文书
测绘工程本科生求职信
2013/10/10 职场文书
个人年终总结结尾
2015/03/06 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
运动会宣传语
2015/07/13 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL