vue icon-componentアイコンコンポーネントの使用

1240 ワード

1.アイコンコンポーネントSvgIconコンポーネントの作成



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




2.vueアイコンコンポーネントを使用してindexを作成する.js
import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon'// svg  

// register globally
Vue.component('svg-icon', SvgIcon)

const req = require.context('./svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req)

3.svgアイコンライブラリフォルダをindexに置く.js兄弟ディレクトリの下
4.svgフォルダの下に必要なsvgアイコンを追加
5.コードで使用