Vue.js img src nối biến và văn bản


105

Tôi muốn nối biến Vue.js với URL hình ảnh.

Những gì tôi đã tính toán:

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

Nếu tôi xây dựng cho Android:

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

Khác

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

Làm cách nào để nối biến đã tính với URL?

Tôi đã thử nó:

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

Câu trả lời:


205

Bạn không thể sử dụng curlies (thẻ ria mép) trong các thuộc tính. Sử dụng phần sau để nối dữ liệu:

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

Hoặc phiên bản ngắn:

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

Đọc thêm về các thuộc tính động trong tài liệu Vue .


"Nhưng Vue.js thực sự hỗ trợ toàn bộ sức mạnh của biểu thức JavaScript bên trong tất cả các ràng buộc dữ liệu": vuejs.org/v2/guide/syntax.html#Using-JavaScript-Expressions
Alexey

40

Trong một trường hợp khác, tôi có thể sử dụng mẫu ES6 theo nghĩa đen với các dấu gạch ngược, vì vậy đối với của bạn có thể được đặt là:

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

4
Tôi đã thử điều này, nhưng có vẻ như webpack chạy trước khi các liên kết được xử lý vì url của tôi được xuất ra trình duyệt dưới dạng "@. / Asset / syndicate_images / 34.jpg"
PrestonDocks

imgPreUrllà một biến, không phải là một hàm.
Tạm biệt StackExchange


1

nếu bạn xử lý nó từ dataBase, hãy thử:

<img :src="baseUrl + 'path/path' + obj.key +'.png'">
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.