Vue如何由本地js中存放的url地址获取图片

 更新时间:2023年09月26日 09:22:51   作者:默默的小跟班  
这篇文章主要介绍了Vue如何由本地js中存放的url地址获取图片问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue由本地js中存放的url地址获取图片

对象必须放在js中(而不是json里面,json没有require)。

如果是在json中,需要采用其他方式去获取

注意:url地址必须用这种形式,有require

data.js

export const recommends = [
  {
    "pic": require('./1.png'),
    "name": "adidas 阿迪达斯 训练 男子",
    "price": "335",
    "num": "1"
  },
]

index.vue

import { recommends } from './img/recommend/recommend';

先引入

this.recommends = recommends;

然后要么在data里return这个对象,要么就采用这种赋值方式。

赋值方式可以省去多余的get/set方法

<p class="recommend-pic"><img class="recommend-img" :src="item.pic"></p>
<p class="recommend-name">{{item.name}}</p>

读取对象数据,两个注意点:

  • src前面 : (v-bind绑定)。
  • 直接获取的参数需要两个花括号 {{ }}

Vue获取html字符串中的图片地址

1.正则表达式

const RegEx = /(?<=(img src="))[^"]*?(?=")/gims

2.获取html字符串中所有img标签图片地址(Array)

const htmlStr = '<p><img src="1.png" /><img src="2.png" /><img src="3.png" /><img src="4.png" /></p>'
const images = text.match(RegEx)

3.Vue过滤器中加入获取img地址方法

如:getImgUrl

export default {
    filters: {
        getImgUrl(html) {
            const RegEx = /(?<=(img src="))[^"]*?(?=")/gims
            if(html && html.match(RegEx) && html.match(RegEx).length > 0) {
                return html.match(RegEx)[0]
            }
            return require('默认图片地址')
        },
        // 过滤HTML文本中图片地址为本地磁盘地址的图片
        getImgUrl2(html) {
            const RegEx = /(?<=(img src="))[^"]*?(?=")/gims
            if(html && html.match(RegEx) && html.match(RegEx).length > 0 && html.match(RegEx)[0].indexOf('file:///') === -1) {
                return html.match(RegEx)[0]
            }
            return require('默认图片地址')
        }
    }
}

4、使用

<img :src="item.content | getImgUrl" alt="">

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue新玩法VueUse工具库具体用法@vueuse/core详解

    vue新玩法VueUse工具库具体用法@vueuse/core详解

    这篇文章主要介绍了vue新玩法VueUse-工具库@vueuse/core,VueUse不是Vue.use,它是一个基于 Composition API 的实用函数集合,下面是具体的一些用法,需要的朋友可以参考下
    2022-08-08
  • Vue.prototype全局变量的实现示例

    Vue.prototype全局变量的实现示例

    在Vue中可以使用Vue.prototype向Vue的全局作用域添加属性或方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Vue拖拽组件列表实现动态页面配置功能

    Vue拖拽组件列表实现动态页面配置功能

    这篇文章主要介绍了Vue拖拽组件列表实现动态页面配置功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Element-UI el-calendar样式如何修改日历

    Element-UI el-calendar样式如何修改日历

    这篇文章主要介绍了Element-UI el-calendar样式如何修改日历问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Vue实现表格中对数据进行转换、处理的方法

    Vue实现表格中对数据进行转换、处理的方法

    这篇文章主要介绍了Vue实现表格中对数据进行转换、处理的方法,需要的朋友可以参考下
    2018-09-09
  • Vue的computed计算属性你了解吗

    Vue的computed计算属性你了解吗

    这篇文章主要为大家详细介绍了Vue的computed计算属性,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Vue输入框状态切换&自动获取输入框焦点的实现方法

    Vue输入框状态切换&自动获取输入框焦点的实现方法

    这篇文章主要介绍了Vue输入框状态切换&自动获取输入框焦点的实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • vue如何实现甘特图

    vue如何实现甘特图

    文章主要内容是关于如何在项目中引入依赖项以及编写组件代码的步骤和总结,作者分享了个人经验,旨在为读者提供参考,并鼓励大家支持脚本之家
    2024-12-12
  • Vue3 接入 i18n 实现国际化多语言案例分析

    Vue3 接入 i18n 实现国际化多语言案例分析

    在 Vue.js 3 中实现网页的国际化多语言,最常用的包是 vue-i18n,通常我们会与 vue-i18n-routing 一起使用,这篇文章主要介绍了Vue3 如何接入 i18n 实现国际化多语言,需要的朋友可以参考下
    2024-07-07
  • Element plus 表单中下拉框的空值问题解决

    Element plus 表单中下拉框的空值问题解决

    有时候会碰到查询条件需要用下拉框来区分的时候,比如需要区分全部 | 启用 | 停用三个状态,这时一般会给全部的value值设置为'',但是这样会导致下拉框无法选中对应的全部选项,本文就来介绍一下这个问题解决,感兴趣的可以了解一下
    2024-11-11

最新评论