浅谈vue-lazyload实现的详细过程
作者:燕妮666_ 发布时间:2024-04-29 13:09:17
标签:vue,lazyload
本文介绍了浅谈vue-lazyload实现的详细过程,分享给大家,也给自己留个笔记
首先 ,在命令行输入npm install vue-lazyload
&&cnpm install vue-lazyload
然后,在main.js里引入这个模块。
import 'VueLazyload' from 'vue-lazyload'
Vue.use(VueLazyload,{
preload:1.3,//预加载的宽高
loading:"img的加载中的显示的图片的路径",
error:"img加载失败时现实的图片的路径",
attempt:3,//尝试加载的次数
listenEvents:['scroll','wheel','mousewheel','resize','animationend','transitionend','touchmove'], //你想让vue监听的事件
})
然后在app.vue的template里写一个
<img v-lazy="img.src"/>
然后在app.vue的script里写
data(){
return {
img:{
src:"图片的真是路径"
}
}
}
捋一下思路:
//main.js
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import $ from 'jquery'
import 'assets/bootstrap/css/bootstrap.min.css'
import 'assets/bootstrap/js/bootstrap.min'
import router from '@/router/index'
import VueLazyload from 'vue-lazyload'
Vue.use(VueLazyload,{
preload:1.3,
loading:require('../static/imgs/ad3.png'),
//解释一下为什么是require('.....url'):因为vue自带webpack打包工具,如果是图片路径就会把他当成模块解析,所以直接引入就好了。
//记得把里面的路径换成自己的哦
listenEvents:['mousewheel'],
})
//载入vue-router
//import Vue from 'vue'
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})
//app.vue
<template>
<div id="app">
<navbar></navbar>
<router-view></router-view>
<hello></hello>
<ul>
<li v-for="item in imgUrl">
<img v-lazy="item.src" alt="" width="300" height="150"/>
</li>
</ul>
<img v-lazy='img[0].src'/>
</div>
</template>
<script>
import hello from './components/Hello'
import Navbar from '@/components/navBar'
import route from '@/components/route'
export default {
name: 'app',
components:{
hello,
Navbar
},
data() {
return {
imgUrl: [
{src: require('@/assets/imgs/ad1.png')},//记得把里面的路径换成自己的哦
{src: require('@/assets/imgs/ad1.png')},//记得把里面的路径换成自己的哦
],
img:[
{src:require('@/assets/imgs/ad2.png')}//记得把里面的路径换成自己的哦
]
}
}
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
这只是一个简单的vue-lazyload的实现,希望对大家的学习有所帮助,也希望大家多多支持asp之家。
来源:http://www.jianshu.com/p/bdbeac2d5920


猜你喜欢
- 分享由字符“\”转义引起的SQL数据库实例名称找不到或远程连接失败并显示错误error40的解决办法:一、问题介绍很久没有用c#去连数据库程
- 本文主要是对leveldb进行一个简单的介绍及使用Python语言对其进行操作的代码示例,具体如下。leveldb 是google实现的一种
- 主要有以下区别:1、MySQL默认采用的是MyISAM。2、MyISAM不支持事务,而InnoDB支持。InnoDB的AUTOCOMMIT默
- 一.介绍多表查询就是同时查询两个或两个以上的表,因为有的时候用户在查看数据的时候,需要显示的数据来自多张表.多表查询有以下分类:交叉连接查询
- 1.环境配置:2.实现原理:Php使用扩展插件imagick进行图片处理,处理pdf时使用imagick去调用ghostscript3.安装
- 想当初,考研的时候要是知道有这么个好东西,计算定积分。。。开玩笑,那时候计算定积分根本没有这么简单的。但这确实给我打开了一种思路,用编程语言
- 先直接上代码r := gin.Default()// 注册中间件,使body可以重复读取r.Use(func(context *gin.Co
- 首先说明本文并不是安装教程,网上有很多,这里只是自己遇到的一些问题我是以前安装的tensorflow-gpu的,但是发现现在的学术论文大部分
- 一、创建一个进程要创建一个进程,最简单的方式是用一个目标函数实例化一个Process对象,然后与threading一样调用start()函数
- MySQL是“世界上最为流行的开放性数据库”,至少对于MySQL Web站点会这样。但无论
- 我遇到过这种情况 就是在我的data中 会有数据调用data中的其他数据如图 我的alertInfoType需要拿到screeningCon
- 严格来说,Having并不需要一个子表,但没有子表的Having并没有实际意义。如果你只需要一个表,那么你可以用Where子句达到一切目的。
- 今天想把classification_report的统计结果输出到文件中,我这里分享一下一个简洁的方式:我的pandas版本:pandas
- 最近用vuepress建了个博客,音乐的背景图片需要网络地址。还有博客自动复用的摘要图片也需地址开始用的阿里云的免费对象存储oss,但又是登
- 1.什么是ORMORM 全拼Object-Relation Mapping.中文意为 对象-关系映射.在MVC/MVT设
- vue项目无法删除问题今天删除本地的vue项目,一直提示“操作无法完成,因为其中的文件夹或文件已在另一个程序组打开,请关
- Tensorflow数据读取有三种方式:Preloaded data: 预加载数据Feeding: Python产生数据,再把数据喂给后端。
- 扩展名在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名。下面是几种扩展名的用法。pypy就是最基本的源码扩展名
- 本文实例讲述了微信小程序基于slider组件动态修改标签透明度的方法。分享给大家供大家参考,具体如下:1、效果展示2、关键代码index.w
- 1、灵活运用样式熟悉网页设计的网友就知道,调用Style的方法很多,我们可以单击鼠标右键选择Custo