当前位置: 首页 > news >正文

vue全局使用svg

1、安装依赖

 npm install svg-sprite-loader

2、配置选项
vue.config.jschainWebpack里配置下面代码
解释:config.module.rule是一个方法,用来获取某个对象的规则。.exclude.add(文件a)是往禁用组添加文件a,就是对文件a进行禁用。.test(/.svg$/)是匹配到.svg结尾的文件

config.module.rule('svg').exclude.add(resolve('src/icons')) //对应下面配置svg的路径.end();config.module.rule('icons').test(/\.svg$/).include.add(resolve('src/icons')) //对应下面配置svg的路径.end().use('svg-sprite-loader').loader('svg-sprite-loader').options({symbolId: 'icon-[name]'});

3、定义组件
把svg封装成组件,我们就可以以组件的形式调用svg图片。在components下面写组件。
![在这里插入图片描述](https://img-blog.csdnimg.cn/32965f01cca749f19275783e8959b175.png

componnets/svgIcon/index.vue:

<template><svg :class="svgClass" aria-hidden="true" v-on="$listeners"><use :xlink:href="iconName"/></svg>
</template><script>export default {name: 'SvgIcon',props: {iconClass: {type: String,required: true},className: {type: String,default: ''}},computed: {iconName() {return `#icon-${this.iconClass}`},svgClass() {if (this.className) {return 'svg-icon ' + this.className} else {return 'svg-icon'}}}}
</script><style scoped>.svg-icon {width: 10em;height: 10em;vertical-align: -0.15em;fill: currentColor;overflow: hidden;}
</style>

4、存储图片,全局注册
创建文件目录,放置svg图片
我把svg图片放在src/icons/svg文件夹下,然后再将svgIcon注册为全局组件
在这里插入图片描述
src/icons/index.js:

import Vue from 'vue'
import SvgIcon from '@/components/svgIcon/index'// svg component// register globally
Vue.component('svg-icon', SvgIcon)const req = require.context('./svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req)

5、全局引入
在mian.js中引入注册文件

import './icons'

6、使用
例如有一张图片rain.svg,路径是icons/svg/rain.svg,然后直接用名称就可以调用。这里的className是自定义样式


//<svg-icon icon-class="图片名" className="样式类"></svg-icon>
<svg-icon icon-class="rain" className="iconBig"></svg-icon>
http://www.lryc.cn/news/59586.html

相关文章:

  • 每天一点C++——杂记
  • Document Imaging SDK 11.6 for .NET Crack
  • 数据挖掘(3.1)--频繁项集挖掘方法
  • 2023年信息安全推荐证书
  • 基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域应用
  • 基于ZC序列的帧同步
  • 配置NFS服务器-debian
  • 正点原子STEMWIN死机
  • PMP考试中的固定答题套路
  • STM32 学习笔记_2 下载,GPIO 介绍
  • Centos搭建k8s
  • Flutter Flex(Row Column,Expanded, Stack) 组件
  • 《深入探讨:AI在绘画领域的应用与生成对抗网络》
  • al文章生成-文章生成工具
  • 【云原生之Docker实战】使用docker部署webterminal堡垒机
  • 《低代码PaaS驱动集团企业数字化创新白皮书》-IDC观点
  • LoRA 指南之 LyCORIS 模型使用
  • [C#]IDisposable
  • ROS开发之如何使用RPLidar A1二维激光雷达?
  • 【谷粒商城之JSR303数据校验和集中异常处理】
  • 限流算法(计数器、滑动时间窗口、漏斗、令牌)原理以及代码实现
  • C++回溯算法---图的m着色问题01
  • ESP32 分区表
  • JJJ-2 init_IRQ
  • 【NLP实战】基于Bert和双向LSTM的情感分类【下篇】
  • 程序设计方法学
  • Hadoop之Yarn篇
  • Spring Cloud Nacos使用总结
  • 目标检测框架yolov5环境搭建
  • Vulnhub:Digitalworld.local (JOY)靶机