Vấn đề là giá trị cho backgroundImage
cần phải là một chuỗi như sau:
<div class="circular" v-bind:style="{ backgroundImage: 'url(' + image + ')' }"></div>
Đây là một fiddle đơn giản đang hoạt động: https://jsfiddle.net/89af0se9/1/
Re: bình luận bên dưới về kebab-case, đây là cách bạn có thể làm điều đó:
<div class="circular" v-bind:style="{ 'background-image': 'url(' + image + ')' }"></div>
Nói cách khác, giá trị for v-bind:style
chỉ là một đối tượng Javascript thuần túy và tuân theo các quy tắc tương tự.
CẬP NHẬT: Một lưu ý khác về lý do tại sao bạn có thể gặp khó khăn khi làm việc này.
Bạn nên đảm bảo rằng image
giá trị của bạn được trích dẫn để chuỗi kết quả cuối cùng là:
url('some/url/path/to/image.jpeg')
Mặt khác, nếu URL hình ảnh của bạn có các ký tự đặc biệt trong đó (chẳng hạn như khoảng trắng hoặc dấu ngoặc đơn), trình duyệt có thể không áp dụng đúng cách. Trong Javascript, bài tập sẽ giống như sau:
this.image = "'some/url/path/to/image.jpeg'"
hoặc là
this.image = "'" + myUrl + "'"
Về mặt kỹ thuật, điều này có thể được thực hiện trong mẫu, nhưng yêu cầu thoát để giữ HTML hợp lệ là không đáng.
Thông tin thêm tại đây: Việc trích dẫn giá trị của url () có thực sự cần thiết không?
backgroundImage
) không phải trường hợp kebab (background-image
) mặc dù các tài liệu nói rằng nó có thể là một trong hai.