Vue頁面中引入img圖片的方法
我們在學習html的時候,圖片標簽<img>引入圖片
1
<
img
src
=
"../assets/images/avatar.png"
width
=
"100%"
>
但是這樣會有2個弊端:
因為采用絕對路徑引入,所以如果后面這張圖片移動了目錄,就需要修改代src里的路徑
如果這張圖片在同一頁面內(nèi)有多個地方要使用到,就需要引入多次,而且圖片移動了目錄,這么多地方都要修改src路徑
怎么辦?使用動態(tài)路徑import、require
首先講講這兩個兄弟,在ES6之前,JS一直沒有自己的模塊語法,為了解決這種尷尬就有了require.js,在ES6發(fā)布之后JS又引入了import的概念
使用import引入
import之后需要在data中注冊一下,否則顯示不了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<script>
import lf1 from
'@/assets/images/cityOfVitality/lf1.png'
import lf2 from
'@/assets/images/cityOfVitality/lf2.png'
import lf3 from
'@/assets/images/cityOfVitality/lf3.png'
import lf4 from
'@/assets/images/cityOfVitality/lf4.png'
import lf5 from
'@/assets/images/cityOfVitality/lf5.png'
import lf6 from
'@/assets/images/cityOfVitality/lf6.png'
import lf7 from
'@/assets/images/cityOfVitality/lf7.png'
import top1 from
'@/assets/images/cityOfVitality/icon_top1.png'
import mixins from
'./mixins'
export
default
{
??
name:
'LeftPiece'
,
??
mixins: [mixins],
??
data () {
????
return
{
??????
lf1,
??????
lf2,
??????
lf3,
??????
lf4,
??????
lf5,
??????
lf6,
??????
lf7,
??????
top1
????
}
??
}
}
</script>
使用require引入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script>
import top1 from
'@/assets/images/cityOfVitality/icon_top1.png'
import mixins from
'./mixins'
export
default
{
??
name:
'RightPiecr'
,
??
mixins: [mixins],
??
data () {
????
return
{
??????
rt1: require(
'@/assets/images/cityOfVitality/rt1.png'
),
??????
rt2: require(
'@/assets/images/cityOfVitality/rt2.png'
),
??????
rt3: require(
'@/assets/images/cityOfVitality/rt3.png'
),
??????
rt4: require(
'@/assets/images/cityOfVitality/rt4.png'
),
??????
rt5: require(
'@/assets/images/cityOfVitality/rt5.png'
),
??????
rt6: require(
'@/assets/images/cityOfVitality/rt6.png'
),
??????
top1
????
}
??
}
}
</script>
標簽: