广告
返回顶部
首页 > 资讯 > 精选 >Vue封装svg-icon组件如何使用
  • 813
分享到

Vue封装svg-icon组件如何使用

2023-07-05 03:07:11 813人浏览 泡泡鱼
摘要

这篇文章主要介绍“Vue封装svg-icon组件如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue封装svg-icon组件如何使用”文章能帮助大家解决问题。一、SVG可缩放矢量图形SVG(

这篇文章主要介绍“Vue封装svg-icon组件如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue封装svg-icon组件如何使用”文章能帮助大家解决问题。

一、SVG可缩放矢量图形

SVG(Scalable Vector Graphics)可缩放矢量图形,是一种用于描述基于二维的矢量图形的 XML 标记语言,其基本矢量显示对象包括矩形、圆、椭圆、多边形、直线、任意曲线等,还能显示文字对象和嵌入式外部图像(包括 PNG、JPEG、SVG 等)。实际项目中大多数图标都是使用的 SVG 图标文件,其主要有以下几个优点:

内容可读,文件是纯粹的 XML。

图像文件小,可伸缩性强。

矢量放缩,能以不牺牲图像质量为前提,进行任意缩放。

还能基于 DOM 模型实现动态和一些交互功能

二、SVG在vue项目中的配置与使用

下载

npm install vue-svg-icon xml-loader -D

下载的.svg的文件,存放于src/icons/svg文件

Vue封装svg-icon组件如何使用

配置src/icons/index.js文件

import Vue from 'vue'import SvgIcon from '@/components/SvgIcon'// svg component// reGISter globallyVue.component('svg-icon', SvgIcon)// 在./svg下查找 “.svg”文件const req = require.context('./svg', false, /\.svg$/)const requireAll = requireContext => requireContext.keys().map(requireContext)requireAll(req)

在main.js中引入icon/index.js文件中全局设置

//全局加载就可以了import '@/icons/index.js'

封装组件

/src/components/svgIcon/index.vue

<template>  <div v-if="isExternal" : class="svg-external-icon svg-icon" v-on="$listeners" />  <svg v-else :class="svGClass" aria-hidden="true" v-on="$listeners">    <use :xlink:href="iconName" rel="external nofollow"  />  </svg></template><script>// doc: https://panjiachen.GitHub.io/vue-element-admin-site/feature/component/svg-icon.html#usageimport { isExternal } from '@/utils'export default {  name: 'SvgIcon',  props: {    iconClass: {      type: String,      required: true    },    className: {      type: String,      default: ''    }  },  computed: {    isExternal() {      return isExternal(this.iconClass)    },    iconName() {      return `#icon-${this.iconClass}`    },    svgClass() {      if (this.className) {        return 'svg-icon ' + this.className      } else {        return 'svg-icon'      }    },    styleExternalIcon() {      return {        mask: `url(${this.iconClass}) no-repeat 50% 50%`,        '-WEBkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`      }    }  }}</script><style scoped>.svg-icon {  width: 1em;  height: 1em;  vertical-align: -0.15em;  fill: currentColor;  overflow: hidden;}.svg-external-icon {  background-color: currentColor;  mask-size: cover!important;  display: inline-block;}</style>

页面使用

<div>  <svg-icon icon-class="peoples" /></div>

到目前为止使用 < svg-icon icon-class=“left-indent” /> 还没有效果,因为还缺少配置文件

vue.config.js 中配置 svg-sprite-loader

安装:

npm install svg-sprite-loader -D

配置 vue.config.js:

使用chainwebpack方法可自定义配置 loader vue.config.js

module.exports = {     chainWebpack: config => {       config.module       .rule('svg')       .exclude.add(resolve('src/icons'))       .end()       config.module       .rule('icons')       .test(/\.svg$/)       .include.add(resolve('src/icons'))       .end()       .use('svg-sprite-loader')       .loader('svg-sprite-loader')       .options({         symbolId: 'icon-[name]'       })       .end()     }   }

重启项目遇到报错:error: resolve is not defined

在vue.config.js中没有配置 resolve 方法, 需要自定义一个,代码如下

const path = require('path')function resolve(dir) {  return path.join(__dirname, dir)}

此时,图标在页面已经出效果;

Vue封装svg-icon组件如何使用

关于“Vue封装svg-icon组件如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Vue封装svg-icon组件如何使用

本文链接: https://www.lsjlt.com/news/349128.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue封装svg-icon组件如何使用
    这篇文章主要介绍“Vue封装svg-icon组件如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue封装svg-icon组件如何使用”文章能帮助大家解决问题。一、SVG可缩放矢量图形SVG(...
    99+
    2023-07-05
  • Vue封装svg-icon组件使用教程
    目录一、SVG可缩放矢量图形二、SVG在vue项目中的配置与使用一、SVG可缩放矢量图形 SVG(Scalable Vector Graphics)可缩放矢量图形,是一种用于描述基于...
    99+
    2023-02-07
    Vue svg icon组件 Vue svg icon
  • vue如何封装自己的Svg图标组件库(svg-sprite-loader)
    目录vue封装自己的Svg图标组件库安装及配置方法vue使用svg封装图标组件,代替img图片提高性能可行性分析实践方案总结vue封装自己的Svg图标组件库 安装及配置方法 一、安装...
    99+
    2023-05-17
    vue封装Svg图标组件库 svg-sprite-loader vue Svg图标组件库
  • vue中使用svg封装全局消息提示组件
    本文实例为大家分享了vue中使用svg封装全局消息提示组件的具体代码,供大家参考,具体内容如下 先看效果图 一、首先安装下载需要用到的svg相关依赖 npm install sv...
    99+
    2022-11-13
  • vue中怎么使用svg封装全局消息提示组件
    本文小编为大家详细介绍“vue中怎么使用svg封装全局消息提示组件”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue中怎么使用svg封装全局消息提示组件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。先看效果图...
    99+
    2023-06-30
  • 如何使用vue组件封装共用的组件
    这篇文章主要介绍了如何使用vue组件封装共用的组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用vue组件封装共用的组件文章都会有所收获,下面我们一起来看看吧。这里提供两种vue封装共用组件的方法方法一...
    99+
    2023-06-30
  • vue组件如何封装
    封装vue组件的方法:1.新建vue.js项目;2.使用Vue.extend()方法创建组件;3.使用Vue.component()方法注册组件;4.构建组件变量;5.使用组件名称标签调用组件;具体步骤如下:首先,在vue-cli中创建一个...
    99+
    2022-10-06
  • 使用vue组件封装共用的组件
    目录这里提供两种vue封装共用组件的方法方法一方法二vue封装公共组件调用方法这里提供两种vue封装共用组件的方法 方法一 main.js中 import ListItem from...
    99+
    2022-11-13
  • vue如何封装TabBar组件
    这篇文章主要为大家展示了“vue如何封装TabBar组件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何封装TabBar组件”这篇文章吧。实现思路:步骤一:TabBar和TabBarIt...
    99+
    2023-06-25
  • vue如何使用vueslot封装公共组件
    目录使用vue slot封装公共组件使用slot插槽封装使用vue slot封装公共组件 公用子组件:publicSlot       <div>         <...
    99+
    2022-11-13
  • 如何封装vue日历组件
    这篇文章将为大家详细讲解有关如何封装vue日历组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下图示封装的组件的代码如下<template>  <div&...
    99+
    2023-06-29
  • Vue分页组件如何封装
    今天小编给大家分享一下Vue分页组件如何封装的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。效果如图话不多说,直接上代码<...
    99+
    2023-07-02
  • Vue如何封装全局toast组件
    本篇内容主要讲解“Vue如何封装全局toast组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue如何封装全局toast组件”吧!一. 借助 vue-cli...
    99+
    2022-10-19
  • 用Vue封装导航栏组件
    前言:把一个功能模块使用组件化的思想充分封装,如导航栏,这无论对我们的开发思想还是效率都有许多好处,在开发中,我们要尽量多得运用组件化的开发思想,不要把所有代码都写在同一个.vue文...
    99+
    2022-11-12
  • vue项目中进行svg组件封装及配置方法步骤
    最近刚入新的公司,拿到项目之后,发现一个有趣的事情就是标题的icon是用svg来弄的,这篇文章彻底弄清楚怎么使用 1.创建vue项目(通过cli来搭建脚手架,该测试项目是用vue...
    99+
    2022-11-12
  • vue中如何封装echarts公共组件
    这篇文章主要讲解了“vue中如何封装echarts公共组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中如何封装echarts公共组件”吧!定义图表公共样式是为了统一同一网站各页面图...
    99+
    2023-06-30
  • vue如何自定义封装API组件
    目录自定义封装API组件1.创建vue组件2.创建Alter.js生成组件3.导入Vue如何封装使用api形式调用的vue组件子组件父组件自定义封装API组件 1.创建vue组件 &...
    99+
    2022-11-13
  • vue中如何将echart封装为组件
    这篇文章主要介绍“vue中如何将echart封装为组件”,在日常操作中,相信很多人在vue中如何将echart封装为组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中如何将echart封装为组件”的疑...
    99+
    2023-07-04
  • vue中使用render封装一个select组件
    目录使用render封装一个select组件vue另类封装--render函数封装先看看文件的结构render函数封装使用render封装一个select组件 父组件 val...
    99+
    2022-11-13
  • bootstrap中select插件如何封装成Vue组件
    本篇内容主要讲解“bootstrap中select插件如何封装成Vue组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“bootstrap中select插件如何封装成Vue组件”吧!因为boot...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作