vue踩坑之backgroundImage路徑問題及解決
vue backgroundImage路徑問題
項目中圖片都放在src/img文件夾,img和background-image引用都用相對路徑,即../../這種形式
在打包build的設置路徑assetsPublicPath: ‘./‘,然后那些沒有轉成base64的背景圖都失效了,,路徑。
處理方法
使用require引入圖片
img標簽
<img :src="require('assets/img/header/search.png')">背景圖
<div :style="{backgroundImage:'url('+require('assets/img/common/bg.png')+')'}"></div>
<span :style="{backgroundImage:'url('+require('../../assets/image/accounts/dayily.png')+')'}">
</span>也可以下面這種方式去寫
在前端開發(fā)中,background-image屬性非常常見,有很多時候需要使用內聯(lián)樣式來綁定此屬性,但是在vue-cli項目中,如果如下面代碼填寫路徑會找不到圖片


使用require()方法,require()是node.js方法
vue style中設置background-image時的路徑問題
之前用的都是require方法
//常見并且常用的方式
<script>
?? ?data(){
?? ??? ?return{
?? ??? ??? ?list:[
?? ??? ??? ??? ?{url:require('../1.jpg')}
?? ??? ??? ??? ?{url:require('../2.jpg')}
?? ??? ??? ?]
?? ??? ?}
?? ?}
</script>而我想直接在style上寫,不想費勁的去在數(shù)據(jù)層寫了
實際上require這個函數(shù)是可以直接在style里面加的與上同理上
代碼如下↓
//奇奇怪怪的方式,很少能用到,不過這次我用到了
<template>
?? ?<div class="list">
? ? ? ? ? ? ? ? ? ? <div v-for="(item,key) in 9" :key="key" class="li">
? ? ? ? ? ? ? ? ? ? ? ? <div class="inner">
? ? ? ? ? ? ? ? ? ? ? ? ? ? <div :style="'background-image:url('+require('./../assets/examples/'+item+'.jpg')+')'" class="img"></div>
? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? <!--可以直接在倆加號中間寫require('圖片路徑') ?-->
? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? </div>
</template>以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Vue 使用Props屬性實現(xiàn)父子組件的動態(tài)傳值詳解
今天小編就為大家分享一篇Vue 使用Props屬性實現(xiàn)父子組件的動態(tài)傳值詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
vuejs如何清空表單數(shù)據(jù)、刪除對象中的空屬性公共方法
這篇文章主要介紹了vuejs如何清空表單數(shù)據(jù)、刪除對象中的空屬性公共方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03

