Vue.js img src连接变量和文本

ket*_*tom 85 javascript vue.js vuejs2

我想将Vue.js变量与图像URL连接起来.

我计算的是:

imgPreUrl : function() {
    if (androidBuild) return "android_asset/www/";
    else return "";
}
Run Code Online (Sandbox Code Playgroud)

如果我为android构建:

<img src="/android_asset/www/img/logo.png">
Run Code Online (Sandbox Code Playgroud)

其他

<img src="img/logo.png">
Run Code Online (Sandbox Code Playgroud)

如何将计算变量与URL连接?

我尝试过这个:

<img src="{{imgPreUrl}}img/logo.png">
Run Code Online (Sandbox Code Playgroud)

Dan*_*dru 166

您不能在属性中使用curlies(小胡子标记).使用以下内容连接数据:

<img v-bind:src="imgPreUrl + 'img/logo.png'">
Run Code Online (Sandbox Code Playgroud)

或者简短的版本:

<img :src="imgPreUrl + 'img/logo.png'">
Run Code Online (Sandbox Code Playgroud)

Vue文档中阅读有关动态属性的更多信息.


Ard*_*dhi 32

在另一种情况下,我可以使用带有反引号的模板文字ES6,因此可以将你的设置为:

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

  • 我试过这个,但似乎webpack在处理绑定之前运行,因为我的url以"@./ assets/syndicate_images/34.jpg"的形式输出到浏览器 (4认同)

小智 11

你试一试

<img :src="require(`${imgPreUrl}img/logo.png`)">
Run Code Online (Sandbox Code Playgroud)


Bed*_*ang 7

遵循这两种方法都是有效的。

方法一

与符号连接+并用单/双引号括起字符串。

<img :src="imgPreUrl() + 'img/logo.png'">
Run Code Online (Sandbox Code Playgroud)

方法二

用反引号括起来`,变量用${variable}. 正如imgPreUrl方法一样,

<img :src="`${imgPreUrl()}img/logo.png`">
Run Code Online (Sandbox Code Playgroud)


Mos*_*med 5

如果你从数据库处理这个尝试:

<img :src="baseUrl + 'path/path' + obj.key +'.png'">
Run Code Online (Sandbox Code Playgroud)