最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue項(xiàng)目中v-bind動(dòng)態(tài)綁定src路徑不成功問(wèn)題及解決

 更新時(shí)間:2022年04月08日 15:36:24   作者:Mr_Riven  
這篇文章主要介紹了Vue項(xiàng)目中v-bind動(dòng)態(tài)綁定src路徑不成功問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

v-bind動(dòng)態(tài)綁定src路徑不成功

問(wèn)題:在做Vue項(xiàng)目的時(shí)候,由于項(xiàng)目需求,需要?jiǎng)討B(tài)綁定img的src時(shí),突然發(fā)現(xiàn)如果說(shuō)是直接請(qǐng)求后臺(tái)接口的圖片地址就能顯示,

但是直接動(dòng)態(tài)綁定img的src的圖片的相對(duì)路徑或者是絕對(duì)路徑的時(shí)候,圖片不能顯示。

解決方案 1

當(dāng)在給數(shù)據(jù)MyimgSrc 設(shè)置絕對(duì)路徑或者是相對(duì)路徑時(shí)應(yīng)該使用require引入才能成功

currentSrc : require("@/assets/1.png")

解決方案 2

直接導(dǎo)入

<img :src="url"/>
import url from '../../assets/logo.png'
data {
    url,
}

解決方案 3

把圖片放到static 文件夾里面 就能直接引入

總結(jié):當(dāng)動(dòng)態(tài)綁定img的src的時(shí)候,vue數(shù)據(jù)綁定圖片的相對(duì)路徑或者是絕對(duì)路徑的時(shí)候,需要require路徑。

vue踩坑--動(dòng)態(tài)v-for圖片路徑問(wèn)題

問(wèn)題描述:想要用v-for來(lái)動(dòng)態(tài)生成圖片路徑

<div v-for="item in 40">
	<img :src="'./../../assets/img/' + item + '.jpg'" alt="">
</div>

打包后的路徑是這樣的

在這里插入圖片描述

打包后的資源目錄是這樣的

在這里插入圖片描述

問(wèn)題所在

上面樣寫是不行的,你會(huì)發(fā)現(xiàn)圖片在頁(yè)面中并沒(méi)有正確顯示。從上面的圖片可以看出,打包后的圖片路徑明顯不對(duì)。     

這是因?yàn)閣ebpack并沒(méi)有對(duì)我們拼接的路徑進(jìn)行解析,圖片也沒(méi)有被引用到打包后的目錄(如果有的話應(yīng)該是40張)

vue-cli文檔的HTML和靜態(tài)資源處理里是這么描述的

靜態(tài)資源可以通過(guò)兩種方式進(jìn)行處理:    

在 JavaScript 被導(dǎo)入或在 template/CSS 中通過(guò)相對(duì)路徑被引用。這類引用會(huì)被 webpack 處理。

放置在 public 目錄下或通過(guò)絕對(duì)路徑被引用。這類資源將會(huì)直接被拷貝,而不會(huì)經(jīng)過(guò) webpack 的處理。

從相對(duì)路徑導(dǎo)入    

當(dāng)你在 JavaScript、CSS 或 *.vue 文件中使用相對(duì)路徑 (必須以 . 開頭) 引用一個(gè)靜態(tài)資源時(shí),該資源將會(huì)被包含進(jìn)入 webpack 的依賴圖中。在其編譯過(guò)程中,所有諸如 <img src="…">、background: url(…) 和 CSS @import 的資源 URL 都會(huì)被解析為一個(gè)模塊依賴。

例如,url(./image.png) 會(huì)被翻譯為 require(’./image.png’),

而:<img src="./image.png">將會(huì)被編譯到:h(‘img’, { attrs: { src: require(’./image.png’) }})

那在上面里我們也是寫的相對(duì)路徑呀,為什么沒(méi)有被編譯呢?     

這是因?yàn)樵诰幾g時(shí)圖片的url還沒(méi)有拼接好,{{}}表達(dá)式只會(huì)在渲染到頁(yè)面上的時(shí)候執(zhí)行,所以編譯的時(shí)候src還是’./…/…/assets/img/’ + item + ‘.jpg’,這樣的話webpack不認(rèn)為這是一個(gè)模塊,所以直接不處理,圖片也就沒(méi)有被編譯。

解決辦法

把圖片作為資源引入,在圖片的url加上require,變成require(url)。

實(shí)現(xiàn)代碼

<template>
	<div v-for="item in images">
		<img :src="item" alt="">
	</div>
</template>
<script>
    export default {
        name: "",
        data: function () {
            return {
                changeDirection: true,
                images:[
					require('./../../assets/img/0.jpg'),
					......
					require('./../../assets/img/40.jpg'),
				]
            }
        }
    }
</script>

不會(huì)吧不會(huì)吧,這么多圖片不會(huì)真有人一個(gè)個(gè)寫吧?多圖片應(yīng)該這樣寫

<script>
    export default {
        name: "",
        data: function () {
            return {
                changeDirection: true,
                images:(function () {
                    // 導(dǎo)入圖片模塊
                    let fileArr = [];
                    for (let i = 0; i < 40; i++) {
                        fileArr[i] = require('./../../assets/img/' + i + '.jpg');
                    }
                    return fileArr;
                })(),
            }
        }
    }
</script>

修改后打包后的路徑

在這里插入圖片描述

修改后打包后的資源目錄

在這里插入圖片描述

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

相關(guān)文章

  • Vue基礎(chǔ)教程之條件渲染和列表渲染

    Vue基礎(chǔ)教程之條件渲染和列表渲染

    Vue會(huì)盡可能高效地渲染元素,通常會(huì)復(fù)用已有元素而不是從頭開始渲染。這么做會(huì)使Vue變得非???下面這篇文章主要給大家介紹了Vue基礎(chǔ)教程之條件渲染和列表渲染的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 詳解vue-router 2.0 常用基礎(chǔ)知識(shí)點(diǎn)之router.push()

    詳解vue-router 2.0 常用基礎(chǔ)知識(shí)點(diǎn)之router.push()

    本篇文章主要介紹了vue-router 2.0 常用基礎(chǔ)知識(shí)點(diǎn)之router.push(),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • vue.js開發(fā)環(huán)境安裝教程

    vue.js開發(fā)環(huán)境安裝教程

    這篇文章主要為大家詳細(xì)介紹了vue.js開發(fā)環(huán)境的安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 一文詳解Vue中的虛擬DOM與Diff算法

    一文詳解Vue中的虛擬DOM與Diff算法

    vue中的diff算法時(shí)常是面試過(guò)程中的考點(diǎn),本文將為大家講解何為diff以及diff算法的實(shí)現(xiàn)過(guò)程,那么在了解diff之前,我們需要先了解虛擬DOM是什么,需要的朋友可以參考下
    2024-02-02
  • vue同個(gè)按鈕控制展開和折疊同個(gè)事件操作

    vue同個(gè)按鈕控制展開和折疊同個(gè)事件操作

    這篇文章主要介紹了vue同個(gè)按鈕控制展開和折疊同個(gè)事件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Vue組件化通訊的實(shí)例代碼

    Vue組件化通訊的實(shí)例代碼

    這篇文章主要介紹了Vue組件化通訊的實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • vue實(shí)現(xiàn)雙向數(shù)據(jù)綁定

    vue實(shí)現(xiàn)雙向數(shù)據(jù)綁定

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)雙向數(shù)據(jù)綁定,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • vue如何實(shí)現(xiàn)文件上傳及預(yù)覽

    vue如何實(shí)現(xiàn)文件上傳及預(yù)覽

    這篇文章主要介紹了vue如何實(shí)現(xiàn)文件上傳及預(yù)覽問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue2.0組件之間傳值、通信的多種方式(干貨)

    vue2.0組件之間傳值、通信的多種方式(干貨)

    這篇文章主要介紹了vue2.0組件之間傳值、通信的多種方式以及注意要點(diǎn),需要的朋友可以參考下
    2018-02-02
  • 詳解vue之頁(yè)面緩存問(wèn)題(基于2.0)

    詳解vue之頁(yè)面緩存問(wèn)題(基于2.0)

    本篇文章主要介紹了vue之頁(yè)面緩存問(wèn)題(基于2.0),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01

最新評(píng)論

曲水县| 连平县| 礼泉县| 满城县| 晴隆县| 思南县| 大石桥市| 安顺市| 迁安市| 阳信县| 仲巴县| 泰兴市| 邵阳县| 周口市| 乐昌市| 青海省| 大宁县| 郧西县| 开原市| 华安县| 神池县| 拜泉县| 沈阳市| 垣曲县| 平遥县| 马龙县| 洛南县| 黑龙江省| 崇左市| 乳山市| 湖南省| 伊金霍洛旗| 德化县| 泰宁县| 宜川县| 榕江县| 龙南县| 房产| 紫阳县| 肥乡县| 临高县|