vue+element-ui動(dòng)態(tài)加載本地圖片方式
vue element-ui 動(dòng)態(tài)加載本地圖片
最近用element-ui實(shí)現(xiàn)圖片展示時(shí),發(fā)先本地的圖片加載不了,一開(kāi)始是這么寫的
<el-image
class="table-td-thumb"
:src="'../../assets/img/coca.jpg"
></el-image>目錄結(jié)構(gòu)如下

本地加載
結(jié)果發(fā)現(xiàn)不對(duì),加載不出來(lái),一查資料,原來(lái)本地的圖片要用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ù)庫(kù)中,數(shù)據(jù)庫(kù)加載數(shù)據(jù)到變量中,最后在組件中調(diào)用
<template slot-scope="scope">
<el-image
class="table-td-thumb"
:src="require(scope.row.img)"
></el-image>
</template>結(jié)果卻出錯(cuò)了,圖片加載不出來(lái),于是又查了很多資料,原來(lái)require中不能直接用變量,這可難辦了,接下來(lái)又查了很多資料,發(fā)現(xiàn)原來(lái)這么寫就行了。
<template slot-scope="scope">
<el-image
class="table-td-thumb"
:src="require('../../assets/img/'+scope.row.img+'.jpg')"
></el-image>
</template>將文件名作為變量前后拼接字符串,而不是直接用變量做require的參數(shù),這樣就沒(méi)問(wèn)題了。
查看大圖
成功后我還想要用preview-src-list實(shí)現(xiàn)查看大圖效果,直接像上面寫又錯(cuò)了,后來(lái)發(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è)文件上傳的功能,在文件上傳過(guò)程中需要實(shí)現(xiàn)遮罩,等待文件上傳成功之后才允許繼續(xù)操作。
為了不影響頁(yè)面的菜單,只控制文件上傳部分,所以需要增加一個(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來(lái)說(shuō)十分重要,接下來(lái)我們就以實(shí)例解析Python的Twisted框架中Deferred對(duì)象的用法2016-05-05
python+opencv實(shí)現(xiàn)閾值分割
這篇文章主要為大家詳細(xì)介紹了python+opencv實(shí)現(xiàn)閾值分割的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
使用Python裝飾器在Django框架下去除冗余代碼的教程
這篇文章主要介紹了使用Python裝飾器在Django框架下去除冗余代碼的教程,主要是處理JSON代碼的一些冗余,需要的朋友可以參考下2015-04-04
Python3 合并二叉樹(shù)的實(shí)現(xiàn)
這篇文章主要介紹了Python3 合并二叉樹(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Python pyinstaller庫(kù)的安裝配置教程分享
pyinstaller模塊主要用于python代碼打包成exe程序直接使用,這樣在其它電腦上即使沒(méi)有python環(huán)境也是可以運(yùn)行的。本文就來(lái)和大家分享一下pyinstaller庫(kù)的安裝配置教程,希望對(duì)大家有所幫助2023-04-04

