vue中img src 动态加载本地json的图片路径写法

Vue中,我们使用img标签来展示图片,其中src属性用于指定图片的路径。如果需要动态加载本地json中的图片,我们可以使用相对路径来指定图片的位置。

具体操作步骤如下:

  1. 创建一个包含图片路径的json文件。比如说在项目根目录下新建一个名为“images.json”的文件,其内容为:
{
  "imgPath": "./assets/images/demo.png"
}
  1. 在Vue组件中引入json文件并保存。比如说在main.js中引入:
import images from './images.json'
Vue.prototype.$images = images
  1. 在Vue组件中使用img标签来展示图片,并指定src属性为json文件中存放图片路径的键名:
<template>
  <div>
    <img :src="$images.imgPath" alt="demo image">
  </div>
</template>

此时图片“demo.png”就会在网页中展示出来。

下面是两个完整的例子说明:

  1. 首先,创建一个包含图片路径的json文件“images.json”:
{
  "imgPath": "./assets/images/demo.png"
}
  1. 在Vue组件中引入json文件并保存。比如说在main.js中引入:
import images from './images.json'
Vue.prototype.$images = images
  1. 在Vue组件中使用img标签来展示图片,并指定src属性为json文件中存放图片路径的键名:
<template>
  <div>
    <img :src="$images.imgPath" alt="demo image">
  </div>
</template>

此时图片“demo.png”就会在网页中展示出来。

  1. 再举一个例子,如果我们希望在json文件中存放多张图片的路径,并且可以通过点击某个按钮来进行切换展示的图片,可以采用如下的方法:

首先,创建一个包含多张图片路径的json文件“images.json”:

{
  "imgList": [
       { "path": "./assets/images/demo1.png" },
       { "path": "./assets/images/demo2.png" },
       { "path": "./assets/images/demo3.png" }
   ]
}

在Vue组件中引入json文件并保存。比如说在main.js中引入:

import images from './images.json'
Vue.prototype.$images = images

在Vue组件中使用img标签来展示图片,并使用Vue的计算属性来动态切换图片路径:

<template>
  <div>
    <button @click="changeImage">切换图片</button>
    <img :src="currentImg" alt="demo image">
  </div>
</template>

<script>
export default {
  data () {
    return {
      index: 0
    }
  },
  computed: {
    currentImg () {
      return this.$images.imgList[this.index].path
    }
  },
  methods: {
    changeImage () {
      this.index++
      if (this.index === this.$images.imgList.length) {
        this.index = 0
      }
    }
  }
}
</script>

此时,点击“切换图片”按钮,就可以动态切换多张图片的路径。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue中img src 动态加载本地json的图片路径写法 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vite中如何使用@ 配置路径别名

    在vite项目中,使用路径别名可以帮助我们更简洁地编写引入模块的代码,提升代码的可读性和开发效率。使用@配置路径别名是vite官方推荐的方式之一。下面,我会详细讲解如何在vite中使用@配置路径别名,同时提供两个示例说明。 基本配置步骤 在项目根目录下的vite.config.js文件中添加resolve.alias配置项。 import { defineC…

    Vue 2023年5月28日
    00
  • vue $mount 和 el的区别说明

    当我们使用Vue进行开发时,我们可以使用$mount方法手动挂载Vue实例,也可以在Vue实例中使用el属性来自动挂载实例。 首先,让我们来看看这两种方式的区别。 Vue $mount $mount方法可以将Vue实例手动挂载到DOM上。通过调用$mount,Vue实例才能开始渲染。使用$mount方法时需要注意的是,如果在实例化Vue时没有显式地提供el选…

    Vue 2023年5月28日
    00
  • 封装Vue Element的table表格组件的示例详解

    首先介绍一下Vue Element的table表格组件,它是基于Vue.js的易用的表格组件,能够快速方便地创建数据表格,支持分页、排序和多选等功能,并且形象直观地展示数据。 下面我们主要是介绍一下如何进行封装,以便更好地使用。 第一步,建立自己的table组件,将其封装进Vue组件中。 <template> <div> <el…

    Vue 2023年5月27日
    00
  • vue+axios+promise实际开发用法详解

    vue+axios+promise实际开发用法详解 什么是axios和promise axios axios是一个基于Promise用于浏览器和node.js的HTTP客户端。它具有以下特征: 支持浏览器和 node.js 支持 Promise API 拦截请求和响应 转换请求和响应数据 Promise Promise是一种用于异步编程的语言特性,它可以让我…

    Vue 2023年5月28日
    00
  • Vue手写防抖和节流函数代码详解

    针对你提出的主题 “Vue手写防抖和节流函数代码详解”,我来进行详细讲解。 一、什么是防抖和节流函数 在前端开发中,很多时候会遇到一些需要节流或防抖的场景,例如在频繁进行搜索时,可以使用节流函数,减少无意义的请求;在监听窗口 resize 或滚动事件等操作时,可以使用防抖函数避免频繁执行代码。两种函数的作用如下: 防抖函数:多次触发事件后,函数只会执行一次,…

    Vue 2023年5月28日
    00
  • Vue项目中接口调用的详细讲解

    下面是“Vue项目中接口调用的详细讲解”的完整攻略。 Vue项目中接口调用的详细讲解 在Vue项目中使用接口调用是一个非常常见的需求。下面将详细讲解如何在Vue项目中进行接口调用。 1、安装axios 在Vue中使用axios进行接口调用需要先安装axios,可以通过npm安装。在终端中输入以下命令: npm install axios –save 安装完…

    Vue 2023年5月28日
    00
  • vue单页应用在页面刷新时保留状态数据的方法

    下面是详细的讲解 “Vue单页应用在页面刷新时保留状态数据的方法”: 问题描述 在使用Vue单页应用开发时,当页面发生刷新或者用户跳转到其他页面后,原先的状态数据会丢失或清空,这会导致用户体验不佳和应用功能异常。因此,需要一种方法来在页面刷新时,保留Vue单页应用中的状态数据。 解决方案 在Vue单页应用中,可以使用以下两种方法来保留状态数据: 使用浏览器的…

    Vue 2023年5月29日
    00
  • vue3.0实现考勤日历组件使用详解

    vue3.0实现考勤日历组件使用详解 前言 考勤日历是一个在管理系统和应用中广泛使用的组件。本文将介绍如何使用Vue3.0来实现考勤日历组件。 步骤 1. 准备工作和安装依赖 在开始本文的实现之前,你需要已经安装好了Vue3.0并创建了一个Vue工程。在进行下一步之前,你需要确保以下依赖库已经安装好了: npm install –save vue-full…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部