我试图将图像的src绑定到元素中,但似乎不起作用.我得到一个"无效表达式.生成的函数体:{background Image:{url(Image)}".

documentation人说可以使用"烤肉串盒"或"骆驼盒".

<div class="circular" v-bind:style="{ backgroundImage: { url(image) }"></div>

这里有一把小提琴:https://jsfiddle.net/0dw9923f/2/

推荐答案

问题是backgroundImage的值需要是如下所示的字符串:

<div class="circular" v-bind:style="{ backgroundImage: 'url(' + image + ')' }"></div>

这里有一把有效的简化小提琴:https://jsfiddle.net/89af0se9/1/

回复:下面关于烤肉串的 comments ,你可以这样做:

<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 + "'"

Technically, this could be done in the template, but the escaping required to keep it valid HTML isn't w或th it.

M或e info here: Is quoting the value of url() really necessary?

Html相关问答推荐

如何在水平对齐(居中)元素的右侧创建迪夫.在tailwind 或CSS中

HTML图像无法正确放大和缩小规模

css网格区域的布局不展开,也不显示滚动条

Chrome中是否有一个本地显示密码功能,用于`input type = password/`?""<"">

当在双引号|Angular .html文件中使用时,Pretier会将单引号字符替换为&;Quot;

在Chrome中使用手写笔时,滚动条方向反转

覆盖垫子中的边框底部 Select

根据屏幕大小拆分长行列表

Flexbox在元素之间造成了太大的差距

浏览器是否可以呈现存储在代码点0x09处的字形?

为什么一个 CSS 网格框比其他网格框低?

带有图像的虚线边框

在显示 swift ui 之前加载下一个 YouTube 视频

如何使用 HTML 将对象数组发送到 Nodejs Express

Bootstrap 轮播内容在箭头之间不显示

如何更改 Quarto 中标签crossref-def-title的标题 colored颜色 ?

如何使用 CSS Flex 设计一个导航栏,其中一组项目左对齐而另一组项目右对齐?

如何在单击按钮时切换 Blazor 中的类?

变换元素以适应高度(Angular,SCSS)

使元素扩展宽度减go margin-right