vue项目内使用svg图标

有时候框架提供的图标并不能够供我们使用,所以我们需要新的图标库来实现

阿里妈妈icon库

阿里妈妈icon库

项目使用步骤:

在component下面新建一个文件

在文件内写以下代码

<template>
  <svg :class="svgClass" aria-hidden="true">
    <use :xlink:href="iconName"></use>
  </svg>
</template>

<script>
export default {
  name: 'svg-icon',
  props: {
    iconClass: {
      type: String,
      required: true
    },
    className: {
      type: String
    }
  },
  computed: {
    iconName() {
      return `#icon-${this.iconClass}`
    },
    svgClass() {
      if (this.className) {
        return 'svg-icon ' + this.className
      } else {
        return 'svg-icon'
      }
    }
  }
}
</script>

<style scoped>
.svg-icon {
   1em;
  height: 1em;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}
</style>

引用创建的文件

在引用的文件夹内输入以下代码

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)

使用

在其他文件夹内使用

原文地址:https://www.cnblogs.com/loveliang/p/13596137.html