欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue一個(gè)動(dòng)態(tài)添加background-image的實(shí)現(xiàn)

 更新時(shí)間:2023年03月11日 15:44:27   作者:混血哲談  
這篇文章主要介紹了Vue一個(gè)動(dòng)態(tài)添加background-image的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Vue一個(gè)動(dòng)態(tài)添加background-image

一開始不知道該怎么弄,后面查了下,應(yīng)該這樣使用

?<div @click="dialogVisible = true" :style="?
? ? ?{backgroundImage:'url('+personalData.avatar+')'}"> ? ?
? ? ??
? ? ? ? ? ? ? ? ? ? <div>
? ? ? ? ? ? ? ? ? ? ? ? <!-- <div></div> -->
? ? ? ? ? ? ? ? ? ? ? ? <p>修改頭像</p>
? ? ? ? ? ? ? ? ? ? </div>
?</div>

Vue踩坑background-image路徑

在前端開發(fā)中,background-image屬性非常常見,有很多時(shí)候需要使用內(nèi)聯(lián)樣式來綁定此屬性,但是在vue項(xiàng)目中,如果如下面代碼填寫路徑會(huì)找不到圖片

  • 項(xiàng)目中圖片都放在src/img文件夾,img和background-image引用都用相對路徑,即../../../這種形式。
  • 在項(xiàng)目打包build設(shè)置路徑assetsPublicPath:'./',然后哪些沒有轉(zhuǎn)成base64的背景圖都失效了。
<script type="text/javascript">
	import TemplateNav from './TemplateNav'
 
	export default {
		name: 'FooterNav',
		components: {
			'TemplateNav': TemplateNav
		},
		data() {
			return {
				//使用相對路徑會(huì)找不到圖片
				shouye:'url(../../assets/images/shouye/index2x.png)',
				fenlei:'url(../../assets/images/shouye/fenlei2x.png)',
				search:'url(../../assets/images/shouye/search2x.png)',
				shopcart:'url(../../assets/images/shouye/gouwuche2x.png)',
				mine:'url(../../assets/images/shouye/I2x.png)'
			}
		},
		props: {
			num: {
				default: '0'
			}
		},
	}
</script>

報(bào)錯(cuò)如下:404(Not Found)

 正確的路徑應(yīng)該如下面這樣

data() {
	return {
		shouye:'url(' + require('../../assets/images/shouye/index2x.png') + ')',
		fenlei:'url(' + require('../../assets/images/shouye/fenlei2x.png') + ')',
		search:'url(' + require('../../assets/images/shouye/search2x.png') + ')',
		shopcart:'url(' + require('../../assets/images/shouye/gouwuche2x.png') + ')',
		mine:'url(' + require('../../assets/images/shouye/I2x.png') + ')'
	}
},

使用require()方法,require()是node.js方法。

結(jié)合實(shí)際情況,處理方法如下

img標(biāo)簽:

<img :src="require('../../../assets/images/icons/icon-add-pc.svg')">

背景圖:

<div :style="{backgroundImage:'url('+require('../../../assets/images/icon/icon-add-pc.svg')+')'}"></div>
 
//i標(biāo)簽
<i :style="{backgroundImage:'url('+require('../../assets/home/ic-0-01.svg')+')'}"></i>

擴(kuò)展:圖片格式(base64)

圖片的base64編碼就是可以將一張圖片數(shù)據(jù)編碼成一串字符串,使用該字符串代替圖像地址url。

使用base64圖片的優(yōu)點(diǎn):

  • 減少http請求次數(shù)
  • 采用base64的圖片隨著頁面一起下載,因此不會(huì)存在跨域請求的問題
  • 沒有圖片更新要上傳圖片,因此不會(huì)造成清理圖片緩存的問題。

使用base64圖片的缺點(diǎn):

  • 增加css文件的大小,比http請求大30%左右
  • 瀏覽器兼容性,支持ie10及以上
  • 解析css的時(shí)間增長

base64圖片與csssprites技術(shù)

精靈圖技術(shù)就是將圖片合成一個(gè)大的圖片,將多次圖片請求合成一張大的請求,以此來達(dá)到減少http請求的次數(shù)。

對于base64圖片常見誤區(qū)

base64雖然有優(yōu)點(diǎn),但是其缺點(diǎn)也很明顯,在使用上存在一些明顯的缺陷

  • 使用base64不代表性能優(yōu)化,使用base64減少了http請求,但是增加了css文件的體積,css文件體積增大意味著CPR的阻塞
  • CPR(Critical Rendering Path,關(guān)鍵渲染路徑):當(dāng)瀏覽器從服務(wù)器接收到一個(gè)HTML頁面的請求時(shí),到屏幕上渲染出來要經(jīng)過很多個(gè)步驟。瀏覽器完成這一系列的運(yùn)行,或者說渲染出來我們常常稱之為“關(guān)鍵渲染路徑”。
  • 圖片不會(huì)導(dǎo)致關(guān)鍵路徑的阻塞,而轉(zhuǎn)換為base64后大大增加了css文件的體積,css文件的體積直接影響渲染,導(dǎo)致空白屏幕時(shí)間增長,html和css會(huì)阻塞渲染,而圖片不會(huì)阻塞渲染。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 通過vue刷新左側(cè)菜單欄操作

    通過vue刷新左側(cè)菜單欄操作

    這篇文章主要介紹了通過vue刷新左側(cè)菜單欄操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue-Router的使用方法

    Vue-Router的使用方法

    這篇文章主要介紹了Vue-Router的使用方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • Vue.js項(xiàng)目前端多語言方案的思路與實(shí)踐

    Vue.js項(xiàng)目前端多語言方案的思路與實(shí)踐

    前端的國際化是一個(gè)比較常見的需求,但網(wǎng)上關(guān)于這一方面的直接可用的方案卻不多,這篇文章主要給大家介紹了關(guān)于Vue.js項(xiàng)目前端多語言方案的思路與實(shí)踐,需要的朋友可以參考下
    2021-07-07
  • vuex中store存儲(chǔ)store.commit和store.dispatch的區(qū)別及說明

    vuex中store存儲(chǔ)store.commit和store.dispatch的區(qū)別及說明

    這篇文章主要介紹了vuex中store存儲(chǔ)store.commit和store.dispatch的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue 移動(dòng)端記錄頁面瀏覽位置的方法

    vue 移動(dòng)端記錄頁面瀏覽位置的方法

    這篇文章主要介紹了vue 移動(dòng)端記錄頁面瀏覽位置的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • vue實(shí)現(xiàn)動(dòng)態(tài)監(jiān)測元素高度

    vue實(shí)現(xiàn)動(dòng)態(tài)監(jiān)測元素高度

    這篇文章主要介紹了vue實(shí)現(xiàn)動(dòng)態(tài)監(jiān)測元素高度方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue.js實(shí)現(xiàn)三級(jí)菜單效果

    vue.js實(shí)現(xiàn)三級(jí)菜單效果

    這篇文章主要為大家詳細(xì)介紹了vue.js實(shí)現(xiàn)三級(jí)菜單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • vue 中的 render 函數(shù)作用詳解

    vue 中的 render 函數(shù)作用詳解

    這篇文章主要介紹了vue 中的 render 函數(shù)作用,通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 基于vue的驗(yàn)證碼組件的示例代碼

    基于vue的驗(yàn)證碼組件的示例代碼

    這篇文章主要介紹了基于vue的驗(yàn)證碼組件的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • vue實(shí)現(xiàn)html轉(zhuǎn)化pdf并復(fù)制文字

    vue實(shí)現(xiàn)html轉(zhuǎn)化pdf并復(fù)制文字

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)html轉(zhuǎn)化pdf的兩種方式,分別為能復(fù)制文字和不能復(fù)制文字的方法,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10

最新評(píng)論