8

如何vue-material-design-icons在我的Vue CLI 3项目中安装?我一直在尝试使用它,但没有任何好的结果,我找不到任何关于它的教程。

4

2 回答 2

16

用法

可用图标的完整列表可在https://materialdesignicons.com/找到。首次加载时,站点可能需要几秒钟时间才能在页面底部显示图标预览列表。将鼠标悬停在所需图标上,并记下工具提示顶部显示的图标名称。或者,单击图标预览以在弹出窗口中显示图标详细信息。您可以使用以下格式在 Vue 组件中导入图标:

import FooIcon from 'vue-material-design-icons/__ICON_NAME__.vue'

例如,此屏幕截图显示了名为 的图标的工具提示auto-fix

在您的 Vue 组件中,您将像这样导入图标:

import AutoFixIcon from 'vue-material-design-icons/auto-fix.vue'

并将其声明为本地组件:

export default {
  name: 'my-component',
  components: {
    AutoFixIcon
  }
}

然后在组件的模板中使用它:

<template>
  <AutoFixIcon/>
</template>

教程

  1. 创建一个新vue-cli项目(例如,命名vue-md-icons-demo),并default在出现提示时选择设置:

    vue create vue-md-icons-demo
    
  2. 光盘进入新创建的项目目录:

    cd vue-md-icons-demo
    
  3. vue-material-design-icons从 NPM安装包:

    npm i -S vue-material-design-icons
    
  4. src/main.js中,导入图标的样式:

      import Vue from 'vue'
      import App from './App.vue'
    + import 'vue-material-design-icons/styles.css'
    
  5. src/App.vue(或在您的组件文件中),导入要使用的所需图标(参见上面的用法),并将其声明为本地组件。在这种情况下,我们将导入名为 的图标air-conditioner

      <script>
      import HelloWorld from './components/HelloWorld.vue'
    + import AirConditionerIcon from 'vue-material-design-icons/air-conditioner.vue'
    
      export default {
        name: 'app',
        components: {
    -     HelloWorld
    +     HelloWorld,
    +     AirConditionerIcon
        }
      }
    
  6. src/App.vue中,在模板中声明图标元素(即,<AirConditionerIcon/>在本例中):

    <template>
      <AirConditionerIcon/>
    </template>
    

演示

于 2018-08-10T21:24:43.617 回答
0

官方材料设计图标指南: https ://dev.materialdesignicons.com/getting-started/vue

安装

npm install @mdi/js @jamescoyle/vue-icon

导入您的项目

import SvgIcon from '@jamescoyle/vue-icon'
import { mdiAccount } from '@mdi/js'

组件示例:

<template>
  <svg-icon type="mdi" :path="path"></svg-icon>
</template>


<script>
import SvgIcon from '@jamescoyle/vue-icon'
import { mdiAccount } from '@mdi/js'

export default {
    name: "my-cool-component",

    components: {
        SvgIcon
    },

    data() {
        return {
            path: mdiAccount,
        }
    }
}
</script>
于 2021-02-03T12:59:47.037 回答