iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue实现自定义组件的方式引入图标
  • 520
分享到

Vue实现自定义组件的方式引入图标

2023-06-20 16:06:05 520人浏览 独家记忆
摘要

这篇文章主要讲解了“Vue实现自定义组件的方式引入图标”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue实现自定义组件的方式引入图标”吧!前言在项目开发中,使用图标的方式有很多种,可以在i

这篇文章主要讲解了“Vue实现自定义组件的方式引入图标”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue实现自定义组件的方式引入图标”吧!

前言

项目开发中,使用图标的方式有很多种,可以在iconfont上面找到合适的图标,通过Http或者直接下载使用,这里我分享一种通过实现自定义组件的方式引入图标。

搭建环境

这里通过@vue/cli 4.5.13新建项目,并且需要安装依赖svg-sprite-loader,用来处理对应的svg图标,方便我们使用。

安装: npm install --save-dev svg-sprite-loader

配置vue.config.js

在安装svg-sprite-loader后,新建vue.config.js来配置依赖:

// vue.config.jsconst { resolve } = require('path')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]'      })  }}

这里通过chainWEBpack来做了两项配置:

  • 第一个是让原来的其他处理svg的依赖不处理src/icons下我们的自定义图标文件

  • 通过svg-sprite-loader来处理自定义的图标文件,options里面的设置表示,生成的svg的symbolId为icon和文件名的拼接。

新建图标组件

在components目录下新建一个SvgIcon.vue文件:

<template>  <i class="icon">    <!-- aria-hidden, 帮助残障人士阅读(设备读取内容时会跳过这个标签以免混淆) -->    <svg aria-hidden="true" :width="size" :height="size" :fill="fillColor">      <use :xlink:href="iconName" rel="external nofollow" ></use>    </svg>  </i></template><script lang="ts">import { PropType, toRefs } from 'vue'export default {  props: {    size: {      type: Number as PropType<number>,      default: 14    },    fillColor: {      type: String as PropType<string>,      default: '#000'    },    iconName: {      type: String as PropType<string>,      required: true    }  },  setup(props: any) {    const { size, fillColor, iconName: _iconName } = toRefs(props)    const iconName = `#${_iconName.value}`    return {      size,      fillColor,      iconName    }  }}</script>

然后,新建一个icons目录,并且新建一个index文件,用来挂在组件和引入svg图标:

// index.tsimport SvgIcon from '@/components/SvgIcon.vue'import { App } from 'vue'export default (app: App) => {  app.component('svg-icon', SvgIcon)}const ctx = require.context('./svg', false, /\.svg$/)const requestAll = (ctx: __WebpackModuleapi.RequireContext) => ctx.keys().forEach(ctx)requestAll(ctx)
// main.tsimport { createApp } from 'vue'import App from './App.vue'import installSvgIcon from '@/icons/index'const app = createApp(App)installSvgIcon(app)app.mount('#app')

这个文件做了两件事:

  1. 通过导出一个方法来挂载全局组件svg-icon;

  2. 通过require.context来实现自动化引入svg目录下的图标文件。

使用组件

首先,我们要在icons/svg目录下存放svg图标文件(在iconfont上找自己需要的);

然后,就可以在其他地方使用啦:

<template>  <img alt="Vue loGo" src="./assets/logo.png">  <svg-icon icon-name="icon-dashboard"></svg-icon>  <HelloWorld msg="Welcome to Your vue.js + typescript App"/></template>

直接通过组件svg-icon的方式引入,然后传入icon-name即可,icon-name的值由icon拼接svg文件名组成。

总结

这种自定义方式引入svg图标的方式,还是挺方便的,想要加上一个图标的时候,几步即可:

  1. 直接下载好svg文件放入对应目录中;

  2. 接着通过svg-icon组件来引入。

但是,修改样式时不能通过CSS来修改,这点就不太方便了。

感谢各位的阅读,以上就是“Vue实现自定义组件的方式引入图标”的内容了,经过本文的学习后,相信大家对Vue实现自定义组件的方式引入图标这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Vue实现自定义组件的方式引入图标

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

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

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

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

下载Word文档
猜你喜欢
  • Vue实现自定义组件的方式引入图标
    这篇文章主要讲解了“Vue实现自定义组件的方式引入图标”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue实现自定义组件的方式引入图标”吧!前言在项目开发中,使用图标的方式有很多种,可以在i...
    99+
    2023-06-20
  • 基于Vue实现自定义组件的方式引入图标
    前言 在项目开发中,使用图标的方式有很多种,可以在iconfont上面找到合适的图标,通过http或者直接下载使用,这里我分享一种通过实现自定义组件的方式引入图标。 搭建环境 这里...
    99+
    2024-04-02
  • 基于Vue只能实现自定义组件引入图标
    这篇“基于Vue只能实现自定义组件引入图标”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基...
    99+
    2024-04-02
  • Vant的Tabbar标签栏引入自定义图标方式
    目录Tabbar标签栏引入自定义图标vant自义定Tabbar图标和颜色Tabbar标签栏引入自定义图标 **使用*van-tabbar*组件** *v-model*绑定的是对应的T...
    99+
    2024-04-02
  • Vue自定义Form组件实现方法介绍
    目录1. 需求分析2. 表单功能的简单实现3. 抽象验证规则4. 支持 v-model 双向绑定5. 使用 $attrs 支持默认属性6. 父组件调用子组件中的方法1. 需求分析 我...
    99+
    2022-11-13
    Vue自定义Form组件 Vue Form组件 Vue Form
  • React Native自定义标题栏组件的实现方法
    大家好,今天讲一下如何实现自定义标题栏组件,我们都知道RN有一个优点就是可以组件化,在需要使用该组件的地方直接引用并传递一些参数就可以了,这种方式确实提高了开发效率。标题栏是大多数应用界面必不可少的一部分,将标题栏剥离出来做成一个组件很有必...
    99+
    2023-05-31
    react native 标题栏
  • VUE自定义取色器组件的实现
    本文主要介绍了VUE 自定义取色器组件的实现,分享给大家,具体如下: 效果: 功能: 1。点击色块中任何一点,色块中的正方形显示该点的颜色。 2。点击色块上方的颜色圆点,色块选中该...
    99+
    2024-04-02
  • vue递归实现自定义tree组件
    本文实例为大家分享了vue递归实现自定义tree组件的具体代码,供大家参考,具体内容如下 1. 在tree/index.vue中: <template> <...
    99+
    2024-04-02
  • vue自定义组件的注册方式有几种
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。创建项目通过 cmd 执行如下示例命令来初始化我们的 Vue 项目vue create helloworld cd helloworld code . npm run s...
    99+
    2023-05-14
    Vue
  • vue自定义组件的注册方式有哪些
    这篇文章主要介绍“vue自定义组件的注册方式有哪些”,在日常操作中,相信很多人在vue自定义组件的注册方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue自定义组件的注册方式有哪些”的疑惑有所帮助!...
    99+
    2023-07-04
  • vue使用脚手架vue-cli创建并引入自定义组件
    一、创建并引入一个组件 1、创建组件 vue-cli中的所有组件都是存放在components文件夹下面的,所以在components文件夹下面创建一个名为First.vue的自定义...
    99+
    2024-04-02
  • vue自定义数字输入框组件
    最近自己在练习组件开发,做了一个简单的数字输入框加减的组件,效果图如下: 组件可以传入三个参数,value是初始化值,max是可输入的最大值,min是可输入最小值,当然参数可以按需...
    99+
    2024-04-02
  • vue自定义翻页组件的方法
    本文实例为大家分享了vue自定义翻页组件的具体代码,供大家参考,具体内容如下 效果图如下: 1、在components建立page.vue文件 <template>  ...
    99+
    2024-04-02
  • vue 自定义icon图标的步骤
    ant-design-vue自定义使用阿里iconfont图标\ 第一步:从iconfont获取项目js链接 第二步 在需要引用iconfont的页面处加入 在Deom中使用:...
    99+
    2024-04-02
  • Vue怎么实现自定义组件自动生成
    本文小编为大家详细介绍“Vue怎么实现自定义组件自动生成”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么实现自定义组件自动生成”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。就目前三大前端主流数据驱动框架...
    99+
    2023-07-04
  • web面试vue自定义组件及调用方式
    引入: 由于项目需求, 部分相同的代码我们会封装成组件, 在需要使用的地方导入, 并以标签的形式书写在中, 但是在"vant"组件库中, "Dialog 弹出框"组件有2中使用方式 ...
    99+
    2024-04-02
  • 在iview+vue项目中使用自定义icon图标方式
    目录1. UI设计师会把自己做的图标库上传到阿里巴巴图标库2. 到购物车中点击添加至项目3. 给项目起个名字4. 把下面这些文件放到我的项目的static中5. 在main.js中全...
    99+
    2024-04-02
  • Vue自定义铃声提示音组件的实现
    目录背景/前言组件的使用安装加载组件生效组件参数使用默认音效关于open参数的解释项目地址背景/前言 之前的一个功能需求,需要在页面接收消息,一旦有了新消息之后,需要用铃声进行提醒。...
    99+
    2024-04-02
  • vue引入组件有哪些方式
    在vue中引入组件的方式有:1.使用import方法导入;2.使用require方法导入;在vue中引入组件的方式有以下两种使用import方法导入组件import Vue from 'vue'...
    99+
    2024-04-02
  • vue实现自定义组件挂载原型上
    目录自定义组件挂载原型上以elementUI二次分装dialog举例在原型上挂载方法和组件挂在方法,在main.js中挂载组件自定义组件挂载原型上 以elementUI二次分装dia...
    99+
    2022-11-13
    vue自定义组件 vue挂载原型 vue组件挂载原型上
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作