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

vue项目使用svg

目录

前言

简单使用

复制svg代码

创建vue图标文件

使用组件

动态使用

插件注册 


前言

svg在项目中非常常用,那么在vue中如何使用svg呢?

思路来源:我们新创建的项目中会发现components目录下的icons目录下已经有一些案例

说明官方推荐这种写法

我们依葫芦画瓢就可以了。

简单使用

复制svg代码

要说国内最大的svg图标库无疑是阿里矢量图库了,我们随便找一个复制svg源码

创建vue图标文件

在components下的icons目录创建一个vue,假设就叫IconLike.vue,然后将复制的svg代码粘贴进去即可

注: 这个属性表示图标填充颜色,一旦写死,在外部不可改变,我们参考vue提供的案例将其修改为currentColor

这样,外部就能通过css像操控字体颜色那样简单

使用组件

使用:像正常的vue组件那样引入 

显示

修改颜色 

 显示

动态使用

有时候我们仅仅知道的是icon的名称,那怎么显示呢?

使用compoent

该方法需要将图标注册为全局组件

使用component标签

正常显示

插件注册 

我们的项目中svg图标通常是很多的,如果一个一个的在main中注册,既不优雅,也很繁琐,推荐采用插件的方式

创建一个ts文件,下面的文件名称和文件位置只是一个示例,事实上名称和位置皆随意

代码

import { type App } from 'vue';
import Like from "./icons/IconLike.vue";
import IconCommunity from './icons/IconCommunity.vue';
import IconDocumentation from './icons/IconDocumentation.vue';


const allGlobalComponent = { Like, IconCommunity, IconDocumentation };
export default {
    install(app: App) {
        for (const key in allGlobalComponent) {
            if (Object.prototype.hasOwnProperty.call(allGlobalComponent, key)) {
                app.component(key, allGlobalComponent[key as keyof typeof allGlobalComponent]);
            }
        }
    }
}

 在main中注册即可

使用

 显示

完成! 

相关文章:

  • day1 redis登入指令
  • LeetCode 965题详解 | 单值二叉树的“一统江湖”:如何判断所有节点值全等?
  • Apache ECharts介绍(基于JavaScript开发的开源数据可视化库,用于创建交互式图表)
  • 二进制、八进制、十进制和十六进制间的转换(原理及工程实现)
  • 基于 uni-app 和 Vue3 开发的汉字书写练习应用
  • 【交通网络拓扑图实现原理深度解析】
  • 2.PSCAD是什么软件?
  • 中间件专栏之MySQL篇——MySQL的索引原理
  • 政务信息化项目审计全解析:核心重点与区域实践差异化破局
  • 有效的完全平方数
  • 基于微信小程序的竞赛报名系统设计与实现
  • 《C++ 构造、拷贝构造与析构函数:对象的诞生、克隆与消逝之旅》
  • x86寄存器(二):通用寄存器、指令指针寄存器和标志寄存器
  • 解决Selenium元素拖拽不生效Bug
  • open webui-二次开发-源码启动前后端工程-【超简洁步骤】
  • 利用MQ自动取消未支付超时订单最佳实践
  • 大模型最新面试题系列:训练篇之模型监控与调试
  • 静态时序分析:报告命令report_timing详解
  • C++中的.h文件一般是干什么的?
  • 数据结构–栈
  • 去年中企海外新增风电装机量5.4GW,亚太区域占比过半
  • 中国古代文学研究专家、南开大学教授李剑国逝世
  • 优质文化资源下基层,上海各区优秀群文团队“文化走亲”
  • 中国田径巡回赛西安站完赛:男子跳远石雨豪夺冠
  • 一女游客在稻城亚丁景区因高反去世,急救两个多小时未能恢复生命体征
  • 南京艺术学院博导、雕塑家尹悟铭病逝,年仅45岁