目标

  • 列表每行弹框背景图定制化显示

方法

  • 将所有图片以行id命名放在相对路径文件夹中
  • 用插件实现图片懒加载
  • 在打开弹框的时候改变图片路径变量的值

插件安装/模块引入

  • 在项目中安装插件vue-lazyload
npm install vue-lazyload   --save
  • 在main.js中引入
import VueLazyLoad from 'vue-lazyload'
Vue.use(VueLazyLoad,{
   
    error:'./assets/error.png',                        //报错需要的图片
    loading:'./assets/loading.gif'					// 替换需要的图片
})

图片懒加载

  • 在页面中使用,src改用v-lazy指令懒加载图片资源
<img v-lazy="require(`${src_img}`)" :key="cur_id">

注意:这里key的作用是防止出现图片资源路径更改图片不刷新的情况出现!!!

  • 在data里面设置初始的src_img,一定要有这个图片,不然会报错
src_img: './imgs/bg.png'
  • 在行弹框打开事件中更改图片资源路径
open_handle(row) {
   
	this.src_img = `./imgs/${
     row.id}.png`
}