浅谈vue-lazyload实现的详细过程
作者:燕妮666_ 时间:2024-04-29 13:09:17
本文介绍了浅谈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
标签:vue,lazyload
0
投稿
猜你喜欢
Python实现邮件发送功能的方法详解
2021-02-02 10:34:58
Django Session和Cookie分别实现记住用户登录状态操作
2021-09-14 05:15:24
Python读取postgresql数据库详情
2024-01-29 13:01:17
pyinstaller打包django项目的实现步骤
2022-08-17 14:28:15
基于Python创建语音识别控制系统
2021-08-29 14:02:10
图文详解go语言反射实现原理
2024-02-08 05:01:31
ASP字符串大写转换成小写 ASP小写转换成大写 ucase lcase
2011-03-31 10:59:00
python画图系列之个性化显示x轴区段文字的实例
2023-01-16 06:15:24
Python图像处理之膨胀与腐蚀的操作
2022-10-07 19:47:06
Python venv虚拟环境跨设备迁移的实现
2022-02-01 07:10:55
MySql存储过程与函数详解
2024-01-13 16:32:56
利用python为PostgreSQL的表自动添加分区
2023-07-07 14:44:58
Microsoft Enterprise Library 5.0 如何集成MyS
2011-03-16 15:19:00
什么是SVG(可升级矢量图形)
2008-05-06 12:37:00
MySQL OOM 系列三 摆脱MySQL被Kill的厄运
2024-01-13 19:14:40
python实战小游戏之考验记忆力
2023-02-23 14:29:54
SQL Server配置管理器无法连接到WMI提供程序
2024-01-23 23:49:30
Python 中@lazyprop 装饰器的用法
2022-11-30 16:42:10
使用PHP 5.0创建图形的巧妙方法
2023-10-27 00:59:07
Mysql中报错函数floor()函数和rand()函数的配合使用及原理详解
2024-01-21 13:41:03