2016-11-17 41 views
5

VueJSドキュメントによると:私はいくつかのパターンを試してみたVueJS V-バインド:背景画像のスタイル:URL()

<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>

<div v-bind:style="{ background-image: url(item.img), }"></div> 

<div v-bind:style="{ 'background-image': url('item.img'), }"></div> 

<div v-bind:style='{ backgroundImage: "url(item.img)", }'></div> 

しかし、結果はHTML style属性では無効です。

アイデア?他のパターンを試した後、これは動作するものである

答えて

3

<div v-bind:style='{ backgroundImage: "url(" + item.img + ")", }'></div>

結果で:

<div style='{ background-image: url("/img/path/img.jpg"), }'></div>

1

計算されたプロパティを使用するには、非常にうまく機能し、かつクリーナーです:

computed: { 
    imageUrl: function() { 
     return 'url('+ this.path + ')'; 
    } 
}, 
1

これを行います。それはテンプレートに対しても機能します。

<div :style='{ backgroundImage: `url(${item.img})` }'></div> 
1

は@ T.Abdullaevの回答に基づいて、余分な二重引用符で この1は私のために働きました。

v-bind:style='{ backgroundImage: `url("${imgUrl}")` }'