当前位置: 首页 > 知识库问答 >
问题:

Vue.js模板中的静态图像src

吉嘉珍
2023-03-14

我的Vue组件包含一些图像。我想稍后进行延迟加载,因此首先需要将图像的src设置为一个小图像。

<template>
        <div v-for="item in portfolioItems">
            <a href="#{{ item.id }}">
                <img
                    data-original="{{ item.img }}"
                    v-bind:src="/static/img/clear.gif"
                    class="lazy" alt="">
            </a>
        </div>
</template>

给了我很多错误,比如:

[Vue warn]:表达式无效。生成的函数体:/scope.static/scope.img/scope.clear.gif vue.common.js:1014[vue

[Vue warn]:计算表达式“/static/img/clear.gif”时出错:TypeError:无法读取未定义(在组件中找到)的属性“call”

webpack.config.js:
module.exports = {
    // ...
    build: {
        assetsPublicPath: '/',
        assetsSubDirectory: 'static'
    }
}

共有3个答案

路雅懿
2023-03-14

我就是这样解决的。:

      items: [
        { title: 'Dashboard', icon: require('@/assets/icons/sidebar/dashboard.svg') },
        { title: 'Projects',  icon: require('@/assets/icons/sidebar/projects.svg') },
        { title: 'Clients', icon: require('@/assets/icons/sidebar/clients.svg') },
      ],

在模板部分:

<img :src="item.icon" />

在这里看到它的行动

祁鸿晖
2023-03-14

如果您想将字符串绑定到src属性,您应该用单引号包装它:

<img v-bind:src="'/static/img/clear.gif'">
<!-- or shorthand -->
<img :src="'/static/img/clear.gif'">

如果不需要绑定字符串,可以使用以下简单方法:

<img src="/static/img/clear.gif">

请在此处查看有关图像预加载的示例:http://codepen.io/pespantelis/pen/RWVZxL

邓焱
2023-03-14

此解决方案适用于Vue-2用户

  1. vue-2中,如果您不想将文件保存在static文件夹(相关信息)中,或
  2. vue-2中

简单的解决方案是:)

<img src="@/assets/img/clear.gif" /> // just do this:
<img :src="require(`@/assets/img/clear.gif`)" // or do this:
<img :src="require(`@/assets/img/${imgURL}`)" // if pulling from: data() {return {imgURL: 'clear.gif'}}

如果您想将静态图像保存在static/assets/imgpublic/assets/img文件夹中,只需执行以下操作:

<img src="./assets/img/clear.gif" />
<img src="/assets/img/clear.gif" /> // in some case without dot ./
 类似资料:
  • 为了说明angularJS如何增强了标准HTML,我们先将创建一个静态HTML页面模板,然后把这个静态HTML页面模板转换成能动态显示的AngularJS模板。 在本步骤中,我们往HTML页面中添加两个手机的基本信息,用以下命令将工作目录重置到步骤1。 git checkout -f step-1 请编辑app/index.html文件,将下面的代码添加到index.html文件中,然后运行该应用

  • 问题内容: 我正在尝试在Django模板中使用Vue.js。以下是一种这样的模板: 我将Vue的插值定界符更改为 [[]], 以避免与Django发生冲突。我的样子如下: 不幸的是,呈现的HTML包含。还有其他人遇到过类似的问题吗? 问题答案: 正如Vue v1.0的每个文档所说: 因此,在您的示例中更改为: 但是,强烈建议您使用新版本的Vue(版本2)以便保持最新!

  • 在我的和web应用程序中,我需要显示动态图像。我想显示,其中图像的文件名存储在变量中。该变量是一个属性,返回一个store变量,该变量在上异步填充。 但是,当我这样做时,它工作得非常完美: 我的案例与此类似,但在这里它与img URL一起工作,但在我的实际文件路径中,它不起作用。 正确的方法应该是什么?

  • 我正在使用java中的WireMock来存根POST请求。该请求返回一个json主体文件,该文件存储在my local中。存根如下所示: 响应主体文件的一部分,“stubThree”如下所示: 请求url有许多参数,如下所示: stubing工作得很好,但我的目标是使用响应模板提供动态响应。我只想使用请求url中的“subscription_proration_date”值更新json文件的“st

  • 问题内容: 我有一种情况,在使用网络应用程序时,我需要显示动态图像。我想显示图像文件名存储在变量中的位置。该变量是一个属性,它返回一个存储变量,该变量在上异步填充。 但是,当我刚这样做时,它会完美地工作: 正确的方法应该是什么? 问题答案: 我通过以下代码来工作 并在HTML中: 但是不确定为什么我以前的方法行不通。

  • 主要内容:插值,文本插值,v-html 指令,v-bind 指令,JavaScript 表达式,指令,实例,实例,用户输入,双向数据绑定,字符串反转,过滤器,实例,缩写Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。 Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统。 结合响应系统,在应用状态改变时, Vue 能够智能地计算出重新渲染组件的最小代价并应用到 DOM 操作上。 插值 文本 数据绑定