Проблема в тому, що значення для backgroundImageмає мати такий рядок:
<div class="circular" v-bind:style="{ backgroundImage: 'url(' + image + ')' }"></div>
Ось спрощена скрипка, яка працює: https://jsfiddle.net/89af0se9/1/
Re: коментар нижче про шашлик, ось як ви можете це зробити:
<div class="circular" v-bind:style="{ 'background-image': 'url(' + image + ')' }"></div>
Іншими словами, значення for v-bind:style- це просто звичайний об'єкт Javascript і дотримується тих самих правил.
ОНОВЛЕННЯ: Ще одна примітка про те, чому у вас можуть виникнути проблеми з тим, щоб це працювало.
Ви повинні переконатися, що ваше imageзначення вказано в лапках, щоб кінцевий результуючий рядок був:
url('some/url/path/to/image.jpeg')
В іншому випадку, якщо в URL-адресі вашого зображення є спеціальні символи (наприклад, пробіли чи дужки), браузер може не застосувати його належним чином. У Javascript завдання має виглядати так:
this.image = "'some/url/path/to/image.jpeg'"
або
this.image = "'" + myUrl + "'"
Технічно це можна зробити в шаблоні, але екранування, необхідне для збереження його дійсності HTML, не варто.
Більше інформації тут: Чи справді потрібно вказати значення url ()?
backgroundImage), а не шашлик (background-image), хоча документи кажуть, що це може бути і те, і інше.