【问题标题】:How to load static image in Vue Js如何在 Vue Js 中加载静态图像
【发布时间】:2019-09-28 18:07:17
【问题描述】:

我有一个组件,它接受一个 url 的 prop 字符串。它可以是远程图片,也可以是资源文件夹中的本地静态资源。

目录结构:

-assets/
     - logo.png
-app.vue
-components/
    -ImageTest.vue

ImageTest.vue

  <template>
    <div>

        {{imagelink}}
        <div style="width: 150px; height: 150px; background-color: red">
            <img :src="imglink" alt="" height="150px" width="150px">
        </div>
    </div>
</template>

<script>
    export default {
        name: "ImageTest",
        props:{
            imagelink: String,
        },
        computed: {
            // a computed getter
            imglink: function () {
              console.log(this.imagelink)
                return (this.imagelink)
            }
        }
    }
</script>

<style scoped>

</style>

App.vue

<template>
    <div id="app">
        <ImageTest imagelink="./assets/logo.png" ></ImageTest>
        <ImageTest imagelink="https://static.raymondcamden.com/images/banners/gate.jpg" ></ImageTest>

    </div>
</template>

<script>
    import ImageTest from './components/ImageTest.vue'

    export default {
        name: 'app',
        components: {
            ImageTest
        }
    }
</script>

<style>
</style>

输出:(静态文件不起作用,但我可以从开发者检查器工具中看到url是在src中加载​​的)

【问题讨论】:

  • 您尝试使用@/assets/logo.png 吗?
  • 我已经试过了。在浏览器中,所有已加载的图片都显示为 /img+filename+hash.jpg 或 .png 。不是 assets/filename.png 例如 localhost:8080/img/logo.64c8535c.png 。这有什么线索吗? ——
  • 对不起,链接应该是imagelink="require('@/assets/logo.png')"
  • 你试过imagelink="../assets/logo.png"吗?
  • @Derek 我试过了,现在控制台出现错误。渲染错误:在 ---> at src/components/ImageTest.vue 中找到“错误:找不到模块'@/assets/logo.png'”

标签: vue.js vue-component


【解决方案1】:

由于ImageTest.vue 中实际使用了图片链接,您可能需要删除这些点。

这个

<ImageTest imagelink="./assets/logo.png" ></ImageTest>

变成

<ImageTest imagelink="/assets/logo.png" ></ImageTest>

【讨论】:

  • 渲染错误:“错误:找不到模块'../assets/logo.png'”
  • 尝试不带点,/assets/logo.png。在那之后我猜不透了。
  • 没有任何作用。在浏览器中,所有已加载的图片都显示为 /img+filename+hash.jpg 或 .png 。不是 assets/filename.png 例如 localhost:8080/img/logo.64c8535c.png 。这有什么线索吗?
猜你喜欢
  • 2018-11-12
  • 2018-11-04
  • 1970-01-01
  • 1970-01-01
  • 2013-05-09
  • 2021-04-07
  • 1970-01-01
  • 1970-01-01
  • 2019-12-06
相关资源
最近更新 更多