首页 > 编程 > JavaScript > 正文

浅谈vue-lazyload实现的详细过程

2019-11-19 15:42:42
字体:
来源:转载
供稿:网友

本文介绍了浅谈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的实现,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表