Vue3》》Svg图标 封装和使用

SVG

安装插件
npm i vite-plugin-svg-icons

// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import { resolve } from 'path'
export default defineConfig({//配置路径别名resolve: {alias: {"@": resolve(__dirname, 'src')}},plugins: [vue(),createSvgIconsPlugin({// svg 图标要统一放在  src/assets/iconsiconDirs: [resolve(process.cwd(), 'src/assets/icons')],symbolId: 'icon-[dir]-[name]',// 配置SVGO优化  可以 通过fill  改变svg图标填充颜色svgoOptions: {multipass: true,plugins: [{name: 'removeAttrs',params: {attrs: ['fill', 'fill-rule']}}]}})]
})

》》mian.ts

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
//svg 插件需要配置的代码
import 'virtual:svg-icons-register'
createApp(App).mount('#app')

定义 svg 组件

//CustSvg.vue
<template><div>  // 解构<svg :style="{width,height}"><!-- <use xlink:href="#icon-computer"></use> -->     <use :xlink:href="prefix+name"  :fill="color"></use>  </svg></div>
</template><script setup lang="ts">defineProps({//xlink:href属性的前缀prefix: {type: String,default: '#icon-'},//svg图标名称name: String,//svg 图标填充颜色color: {type: String,default: 'Red'},//svg图标高度height: {type: String,default:'16px'},width: {type: String,default: '16px'}} )</script><style>
</style>

》》在其他组件中使用
import CustSvg from ‘./components/CustSvg.vue’

全局组件

import { createApp } from 'vue'
import './style.css'import App from './App.vue'
//svg 插件需要配置的代码
import 'virtual:svg-icons-register'
import CustSvg from '@/components/CustSvg.vue'
//createApp(App).component("CustSvg",CustSvg).mount('#app')  链式调用
let app = createApp(App)
app.component("CustSvg",CustSvg)
app.mount('#app')

可以通过 插件 统一全部注册全局组件
vue2的插件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/97885.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/97885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【04】AI辅助编程完整的安卓二次商业实战-寻找修改替换新UI首页图标-菜单图标-消息列表图标-优雅草伊凡

【04】AI辅助编程完整的安卓二次商业实战-寻找修改替换新UI首页图标-菜单图标-消息列表图标-优雅草伊凡引言本次二开布局没有变&#xff0c;但是下一次整体布局会有变&#xff0c;不过本次开发发现朋友圈跳转功能的流程步骤也做了一定的变化。原生项目复杂就复杂于就算一个颜色…

龙蜥8.10中spark各种集群及单机模式的搭建spark3.5.6(基于hadoop3.3.6集群)

先说最终的访问端口&#xff0c;如我这里ip为172.20.94.37、172.20.94.38、172.20.94.39&#xff0c;主机名分别为&#xff1a;hadoop37、hadoop38、hadoop39. 最终访问&#xff08;默认端口&#xff09;&#xff1a; hadoop webui 172.20.94.37:9870 hdfs 端口 8020 yarn 172.…

关于我重新学习 react 的第一遍

今天是25年9月11号&#xff0c;很久很久没有学习前端知识了&#xff0c;坦诚来说还清楚记得在大学里因为前端技术第一次获奖的心情&#xff0c;也清晰记得写完第一篇博客后的心情&#xff0c;工作和运动给我最大程度的成就感。 打破自己 重新开始 完全地 版本一 25.9.11 文章目…

第2课:Agent系统架构与设计模式

第2课&#xff1a;Agent系统架构与设计模式 课程目标 理解Agent的基本概念和特性掌握多Agent系统的设计模式学习Agent通信协议和消息传递实践创建简单的Agent框架 课程内容 2.1 Agent基础概念 什么是Agent&#xff1f; Agent是一个具有自主性、反应性、社会性和主动性的计…

Day42 51单片机中断系统与8×8 LED点阵扫描显示

day42 51单片机中断系统与88 LED点阵扫描显示一、51单片机引脚位操作 —— sbit 关键字 作用 sbit 是专用于 51 单片机架构的 C 语言扩展关键字&#xff0c;用于定义特殊功能寄存器&#xff08;SFR&#xff09;中的某一位&#xff0c;从而实现对单个 I/O 引脚的直接位操作。 示…

差分: 模板+题目

题目&#xff1a;【模板】差分 应用场景&#xff1a;快速解决将某一个区间所有元素加上 “一个数” 的操作。 第一步&#xff0c;预处理差分数组。 f[i] 表示&#xff1a;当前元素与前一个元素的差值 a[i] - a[i-1]; 但在题目中&#xff0c;我们其实可以不用到a[]这个数组…

GD32 Timer+ADC多通道+DMA+PWM调试记录

本例记录使用GD32307C开发板&#xff0c;实现以内部Timer1 CH1为触发源&#xff0c;触发ADC0的两个通道&#xff0c;进行并行非连续采样&#xff0c;病通过DMA传输采样结果。同时输出PWM&#xff0c;用来检测Timer1 CH1的触发周期。下面介绍具体实现过程&#xff1a;1. gpio初始…

阻塞 IO为什么叫BIO,非阻塞IO为什么叫NIO,异步IO为什么叫AIO

IOIO的核心就是数据传输&#xff0c;也就是程序与外部设备之间进行传输&#xff0c;通过IO的核心可以分为&#xff0c;文件IO和网络IO文件IO交互的对象就是本地存储设备&#xff0c;比方说读写本地文件。网络IO交互的对象就是网络设备&#xff0c;核心的应用场景就是网络通信。…

10分钟了解什么是多模态大模型

10分钟了解什么是多模态大模型&#xff08;MM-LLMs&#xff09; 1. 什么是多模态 Multimodality 多模态&#xff08;Multimodality&#xff09;是指集成和处理两种或两种以上不同类型的信息或数据的方法和技术。在机器学习和人工智能领域&#xff0c;多模态涉及的数据类型通常…

通过DSL生成Jenkins流水线

代码化管理 Jenkins 流水线&#xff08;Infrastructure as Code&#xff09; 版本控制&#xff1a;DSL 脚本可以像代码一样存入 Git、GitLab 等版本控制系统&#xff0c;所有任务配置的变更都有提交记录&#xff0c;便于追溯历史、回滚错误。协作效率&#xff1a;团队成员可以通…

信号量主要API及综合应用

1.信号量概述信号量是一个底层核心模块【int】类型变量&#xff0c;记录当前信号量数据。信号量 P 操作 (sem_wait)线程检测对应信号量底层 int 数据数值&#xff0c;如果大于 0&#xff0c;当前线程获得 CPU 执行权&#xff0c;同时将信号量底层 int 数据-1 操作。如果底层数据…

工业自动化领域的“超级跑车”:西门子TDC系统深度解析与实战架构

工业自动化领域的“超级跑车”&#xff1a;西门子TDC系统深度解析与实战架构 文章目录 工业自动化领域的“超级跑车”&#xff1a;西门子TDC系统深度解析与实战架构引言&#xff1a;当普通PLC遇到性能瓶颈第一章&#xff1a;认识TDC——它不是简单的“大型PLC”1.1 TDC究竟是什…

MySQL高阶查询语句与视图实战指南

MySQL高阶查询语句与视图实战指南 文章目录MySQL高阶查询语句与视图实战指南一、常用高阶查询技巧1. 按关键字排序&#xff08;ORDER BY&#xff09;基础用法进阶用法&#xff1a;多字段排序条件过滤2. 区间判断与去重&#xff08;AND/OR DISTINCT&#xff09;区间判断&#x…

解决Pytest参数化测试中文显示乱码问题:两种高效方法

在使用Pytest进行参数化测试时&#xff0c;许多开发者都会遇到一个常见但令人头疼的问题&#xff1a;当测试用例的ids参数包含中文字符时&#xff0c;控制台输出会出现乱码。这不仅影响了测试报告的可读性&#xff0c;也给测试结果的分析带来了困难。本文将深入探讨这个问题&am…

基于SpringBoot的校园流浪动物救助平台【spring boot实战项目、Java毕设、Java项目、Java实战】

&#x1f496;&#x1f496;作者&#xff1a;计算机毕业设计小途 &#x1f499;&#x1f499;个人简介&#xff1a;曾长期从事计算机专业培训教学&#xff0c;本人也热爱上课教学&#xff0c;语言擅长Java、微信小程序、Python、Golang、安卓Android等&#xff0c;开发项目包括…

利用kimi k2编写postgresql协议服务端的尝试

美团龙猫还是很有自知之明的 提问请用C编写postgresql协议服务端&#xff0c;能接收psql客户端或其他采用postgresql协议的工具的请求&#xff0c;实现将用户请求打印在控制台&#xff0c;并把回应发给客户端回答 抱歉&#xff0c;我无法为您编写完整的 PostgreSQL 协议服务端。…

医疗 AI 再突破:辅助诊断准确率超 90%,但落地医院仍面临数据安全与临床信任难题

一、引言&#xff08;一&#xff09;医疗 AI 发展背景在数字化与智能化浪潮的席卷下&#xff0c;医疗领域正经历着深刻变革&#xff0c;人工智能&#xff08;AI&#xff09;技术的融入成为这场变革的关键驱动力。近年来&#xff0c;医疗 AI 辅助诊断技术取得重大突破&#xff0…

Rocky Linux10.0安装zabbix7.4详细步骤

安装Rocky Linux10.0系统 请参考Rocky Linux10.0安装教程-CSDN博客 查看当前系统版本 cat /etc/*release 安装数据库 安装zabbix之前&#xff0c;需要先安装一个数据库来承载zabbix的数据。这里我选择在本机直接安装一个MariaDB数据库。 Rocky Linux10.0系统默认不包含MySQ…

JDBC插入数据

文章目录视频&#xff1a;JDBC插入数据环境准备写插入数据属性配置属性配置视频&#xff1a;JDBC插入数据 环境准备 MySQL环境 小皮面板 提供MySQL环境 写插入数据 属性配置 声明变量 属性配置 # . properties 是一个特俗的map 集合 # key : 字符串 value : 字符串…

GPU 服务器压力测试核心工具全解析:gpu-burn、cpu-burn 与 CUDA Samples

在 GPU 服务器的性能验证、稳定性排查与运维管理中,压力测试是关键环节,可有效检测硬件极限性能、散热效率及潜在故障。以下从工具原理、核心功能、使用场景等维度,详细介绍三款核心测试工具,帮助用户系统掌握 GPU 服务器压力测试方法。 一、GPU 专属压力测试工具:gpu-bu…