【发布时间】:2019-05-09 23:58:25
【问题描述】:
我有一个父组件,它向子组件发送数据对象,如下所示:
<child object-data=" url: 'url here', title: 'Title'"></child>
然后在我的子组件上,我通过以下方式获取此对象数据:
<script>
export default {
props: [
'objectData'
]
}
</script>
现在,出于某种原因,我可以毫无问题地使用标题,例如 {{ objectData.title }} 并显示出来。
但是当涉及到 img 标签内的 URL 时,它不会呈现图像。
我尝试执行以下操作:
<img :src="objectData.url"/>
<img v-bind:src="objectData.url"/>
<img v-bind:src="require(objectData.url)"/>
<img v-bind:src="{objectData.url}"/>
<img v-bind:src="{{objectData.url}}"/>
当我检查 dom 元素时,它甚至不包含 src 属性。
如果我写下没有对象的 URL,它会起作用。
<img v-bind:src="src/assets/images/icon.png"/>
但我希望我的 URL 来自父组件。
关于如何解决这个问题的任何想法?我在我的 webpack 文件中添加了 url-loader:
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader'
}
我还尝试从计算/方法函数返回 objectData.url:
computed: {
getImageUrl: function() {
return objectData.url;
}
}
然后像:src=“getImageUrl” 或:src=“{{getImageUrl}}” 一样使用它,我也不走运。
【问题讨论】:
-
是的,我之前遇到过同样的问题,我没有搜索解决方案,但是当我使用像
https://picsum.photos/500/300?image=5这样的网址时,它工作正常 -
@BoussadjraBrahim 哦,我必须检查一下,但是是的,虽然我的图像将存储在我的 CDN 中,所以它可以作为外部 url...但是必须有办法做到这一点为测试目的工作哈哈
-
是的,我同意你的看法,我已经打开该项目以使用存储在 assets 文件夹中的图像找到解决方案
-
当您检查呈现页面上的元素时,它的
src设置为什么?对吗? -
@RoyJ src 属性完全消失了。
标签: javascript vue.js vuejs2 vue-component