Vue.js img src連結変数とテキスト


105

Vue.js変数を画像URLと連結したい。

私が計算したもの:

imgPreUrl : function() {
    if (androidBuild) return "android_asset/www/";
    else return "";
}

私がアンドロイド用にビルドした場合:

<img src="/android_asset/www/img/logo.png">

そうしないと

<img src="img/logo.png">

計算された変数をURLと連結するにはどうすればよいですか?

私はそれを試してみました:

<img src="{{imgPreUrl}}img/logo.png">

回答:


205

属性でカーリー(moustacheタグ)を使用することはできません。以下を使用してデータを連結します。

<img v-bind:src="imgPreUrl + 'img/logo.png'">

または短いバージョン:

<img :src="imgPreUrl + 'img/logo.png'">

動的属性の詳細については、Vueのドキュメントをご覧ください。


「しかし、Vue.jsは実際にはすべてのデータバインディング内のJavaScript式の全機能をサポートしています」:vuejs.org/v2/guide/syntax.html#Using-JavaScript-Expressions
Alexey

40

別のケースでは、バックリティックでテンプレートリテラルES6を使用できるため、次のように設定できます。

<img v-bind:src="`${imgPreUrl()}img/logo.png`">

4
私はこれを試しましたが、URLが「@。/ assets / syndicate_images / 34.jpg」としてブラウザに出力されるため、バインディングが処理される前にwebpackが実行されているようです
PrestonDocks

imgPreUrl変数であり、関数ではありません。
さようならStackExchange


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.