vue+element-ui動(dòng)態(tài)加載本地圖片方式
vue element-ui 動(dòng)態(tài)加載本地圖片
最近用element-ui實(shí)現(xiàn)圖片展示時(shí),發(fā)先本地的圖片加載不了,一開始是這么寫的
<el-image class="table-td-thumb" :src="'../../assets/img/coca.jpg" ></el-image>
目錄結(jié)構(gòu)如下
本地加載
結(jié)果發(fā)現(xiàn)不對(duì),加載不出來,一查資料,原來本地的圖片要用require加載,遂改成下面代碼
<el-image class="table-td-thumb" :src="'require(../../assets/img/coca.jpg)'" ></el-image>
果然加載成功了
動(dòng)態(tài)加載
但是我是要?jiǎng)討B(tài)加載,因此選擇將圖片路徑放在數(shù)據(jù)庫中,數(shù)據(jù)庫加載數(shù)據(jù)到變量中,最后在組件中調(diào)用
<template slot-scope="scope"> <el-image class="table-td-thumb" :src="require(scope.row.img)" ></el-image> </template>
結(jié)果卻出錯(cuò)了,圖片加載不出來,于是又查了很多資料,原來require中不能直接用變量,這可難辦了,接下來又查了很多資料,發(fā)現(xiàn)原來這么寫就行了。
<template slot-scope="scope"> <el-image class="table-td-thumb" :src="require('../../assets/img/'+scope.row.img+'.jpg')" ></el-image> </template>
將文件名作為變量前后拼接字符串,而不是直接用變量做require的參數(shù),這樣就沒問題了。
查看大圖
成功后我還想要用preview-src-list實(shí)現(xiàn)查看大圖效果,直接像上面寫又錯(cuò)了,后來發(fā)現(xiàn)是要再加個(gè)方括號(hào),如下
<template slot-scope="scope"> <el-image class="table-td-thumb" :src="require('../../assets/img/'+scope.row.img+'.jpg')" :preview-src-list="[require('../../assets/img/'+scope.row.img+'.jpg')]" ></el-image> </template>
vue+ElementUI實(shí)現(xiàn)Loading
因?yàn)樽隽藗€(gè)文件上傳的功能,在文件上傳過程中需要實(shí)現(xiàn)遮罩,等待文件上傳成功之后才允許繼續(xù)操作。
為了不影響頁面的菜單,只控制文件上傳部分,所以需要增加一個(gè)局部的loading。
需要給哪個(gè)部分加loading,就在哪個(gè)部分的標(biāo)簽區(qū)域用v-loading標(biāo)簽,這里我在文件上傳upload組件外包了一層div:
<div class="container" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.5)" element-loading-text="請(qǐng)稍等,文件正在上傳中…">
- element-loading-text="拼命加載中" 設(shè)置loading文字
- element-loading-background="rgba(0, 0, 0, 0.5)" 設(shè)置loading背景
- element-loading-spinner="el-icon-loading" 設(shè)置loading圖標(biāo)
其他的寫法:
const loading = this.$loading({ // 聲明一個(gè)loading對(duì)象 lock: true, // 是否鎖屏 text: '正在加載...', // 加載動(dòng)畫的文字 spinner: 'el-icon-loading', // 引入的loading圖標(biāo) background: 'rgba(0, 0, 0, 0.3)', // 背景顏色 target: '.sub-main', // 需要遮罩的區(qū)域 body: true, customClass: 'mask' // 遮罩層新增類名 })
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中的反射知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于Python中的反射知識(shí)點(diǎn)總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。2021-11-11實(shí)例解析Python的Twisted框架中Deferred對(duì)象的用法
Deferred對(duì)象在Twsited框架中用于處理回調(diào),這對(duì)于依靠異步的Twisted來說十分重要,接下來我們就以實(shí)例解析Python的Twisted框架中Deferred對(duì)象的用法2016-05-05python+opencv實(shí)現(xiàn)閾值分割
這篇文章主要為大家詳細(xì)介紹了python+opencv實(shí)現(xiàn)閾值分割的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12使用Python裝飾器在Django框架下去除冗余代碼的教程
這篇文章主要介紹了使用Python裝飾器在Django框架下去除冗余代碼的教程,主要是處理JSON代碼的一些冗余,需要的朋友可以參考下2015-04-04