【问题标题】:Vue: binding img src doesn't work but hardcoding it worksVue:绑定 img src 不起作用,但硬编码它起作用
【发布时间】:2019-01-21 07:29:37
【问题描述】:

绑定图片源时找不到图片

<template>
 <div class="card">
    <img class="card-img-top" :src="this.offer.resource">
    <div class="card-body text-center">

        <h1>{{offer.name}}</h1>
        <p>{{offer.description}}</p>
        <h2>{{offer.price}}€</h2>
    </div>
</div>
</template>

<script>

import Offer from '@/models/Offer.js'

export default {

    props: { offer: Offer},
    created: function() {
        console.log(this.offer.resource);

    }
}

</script>

我收到错误:offer_pizza.jpg:1 GET http://localhost:3000/@/assets/images/offer_pizza.jpg 404 (Not Found)

console.log打印出正确的路径:@/assets/images/offer_pizza.jpg

但是当我像这样硬编码时:

<img class="card-img-top" src="@/assets/images/offer_pizza.jpg" >

效果很好。

【问题讨论】:

  • 不熟悉vue,但看起来你有相对绝对路径的问题。检查您的网络选项卡,在这两种情况下您都应该看到请求的资源。很可能,您请求http://localhost:3000/@/assets/images/offer_pizza.jpghttp://localhost:3000/somehting-here/@/assets/images/offer_pizza.jpg
  • 能否分享一下您返回图片数据的控制器方法?

标签: vue.js


【解决方案1】:

如果您想按照自己的方式使用它,您的 offer 对象必须如下所示:

offer: {
  ...
  resource: require('@/assets/images/offer_pizza.jpg')
}

您当前的offer 可能在那里有一个字符串。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-03-17
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 2018-07-13
  • 2023-04-03
  • 2017-03-19
  • 2012-07-14
相关资源
最近更新 更多