浅谈vue-lazyload实现的详细过程
更新时间:2017年08月22日 17:03:49 作者:燕妮666_
本篇文章主要介绍了浅谈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的实现,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
vue el-switch初始值(默认值)不能正确显示状态问题及解决
这篇文章主要介绍了vue el-switch初始值(默认值)不能正确显示状态问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-10-10使用Vue+Django+Ant Design做一个留言评论模块的示例代码
这篇文章主要介绍了使用Vue+Django+Ant Design做一个留言评论模块,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-06-06Vue 2源码阅读 Provide Inject 依赖注入详解
这篇文章主要为大家介绍了Vue 2源码阅读 Provide Inject 依赖注入详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-08-08
最新评论