Das Problem ist, dass der Wert für backgroundImage
eine Zeichenfolge wie die folgende sein muss:
<div class="circular" v-bind:style="{ backgroundImage: 'url(' + image + ')' }"></div>
Hier ist eine vereinfachte Geige, die funktioniert: https://jsfiddle.net/89af0se9/1/
Betreff: Der Kommentar unten über Kebab-Fall, so können Sie das tun:
<div class="circular" v-bind:style="{ 'background-image': 'url(' + image + ')' }"></div>
Mit anderen Worten, der Wert für v-bind:style
ist nur ein einfaches Javascript-Objekt und folgt denselben Regeln.
UPDATE: Ein weiterer Hinweis, warum Sie möglicherweise Probleme haben, dies zum Laufen zu bringen.
Sie sollten sicherstellen, dass Ihr image
Wert in Anführungszeichen steht, damit die am Ende resultierende Zeichenfolge lautet:
url('some/url/path/to/image.jpeg')
Wenn Ihre Bild-URL Sonderzeichen enthält (z. B. Leerzeichen oder Klammern), wendet der Browser diese möglicherweise nicht richtig an. In Javascript würde die Zuweisung folgendermaßen aussehen:
this.image = "'some/url/path/to/image.jpeg'"
oder
this.image = "'" + myUrl + "'"
Technisch könnte dies in der Vorlage erfolgen, aber das Escapezeichen, das erforderlich ist, um gültiges HTML beizubehalten, lohnt sich nicht.
Mehr Infos hier: Ist es wirklich notwendig, den Wert von url () anzugeben?
backgroundImage
) und nicht um kebab case (background-image
) handeln, obwohl die Dokumente sagen, dass dies auch möglich ist.