문제는의 값 backgroundImage이 다음과 같은 문자열이어야한다는 것입니다.
<div class="circular" v-bind:style="{ backgroundImage: 'url(' + image + ')' }"></div>
다음은 작동하는 간단한 바이올린입니다. https://jsfiddle.net/89af0se9/1/
Re : kebab-case에 대한 아래의 코멘트, 이것이 당신이 그것을 할 수있는 방법입니다 :
<div class="circular" v-bind:style="{ 'background-image': 'url(' + image + ')' }"></div>
즉,의 값 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)가 아닌 카멜 케이스 ( ) 여야합니다.