Vue.js img src об'єднує змінну та текст


105

Я хочу з'єднати змінну Vue.js з URL-адресою зображення.

Що я обчислив:

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

Якщо я буду для Android:

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

Інше

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

Як я можу з'єднати обчислену змінну з URL-адресою?

Я спробував це:

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

Відповіді:


205

Ви не можете використовувати фігури (вусики) в атрибутах. Для коротких даних використовуйте наступне:

<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
Олексій

40

В іншому випадку я можу використовувати шаблонний буквальний ES6 із зворотними посиланнями, так що для вашого можна встановити як:

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

4
Я спробував це, але здається, що веб-пакет працює до того, як зв'язки будуть оброблені, оскільки моя URL-адреса виводиться в браузер як "@. / Properties / sindiicate_images / 34.jpg"
PrestonDocks

imgPreUrlє змінною, а не функцією.
Goodbye StackExchange


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.