美文网首页
把svg当成组件使用

把svg当成组件使用

作者: 神话降临 | 来源:发表于2018-12-21 16:23 被阅读0次

好处是可以随意更改 svg的填充色

  • 安装
npm i -D vue-svg-loader

or

yarn add -D vue-svg-loader
  • webpack配置
    vue-cli2.0配置
module.exports = {
  module: {
    rules: [
      {
        test: /\.svg$/,
        loader: 'vue-svg-loader',
      },
    ],
  },
};

vue-cli3.0配置

module.exports = {
  chainWebpack: (config) => {
    const svgRule = config.module.rule('svg');

    svgRule.uses.clear();

    svgRule
      .use('vue-svg-loader')
      .loader('vue-svg-loader');
  },
};
  • 使用
<template>
  <nav>
    <a>
      <WebpackLogo class="logo" />
      webpack
    </a>
  </nav>
</template>
<script>
import WebpackLogo from './public/webpack.svg';

export default {
  name: 'Example',
  components: {
    WebpackLogo
  },
};
</script>
<style scoped lang='scss'>

.logo {
  width: 28px;
  height: 28px;
  margin-right: 10px;
  fill: #336699;
  &:hover {
      fill: #ff3366;
  }
}
</style>

上述用法在2019/1/17再次使用的时候 报错
所以在补一种方法

npm install vue2-svg-icon --save-dev

在main.js里面配置

import Icon from 'vue2-svg-icon/Icon.vue'

vue.component('icon', Icon)

很重要的一点

一定要在assets里面新建一个svg文件夹,然后放入项目的svg图标


image.png

在组件里面引入,name对应的就是svg的名字

<template>
    <div>
        测试
        <icon name="excel" class="my-icon"></icon>
    </div>
</template>

<script>

    export default {
        name: "Tree",
      props: ['model'],
        data() {
            return {

            }
        }
    }
</script>

<style scoped lang="scss">
    .my-icon{
        width: 20px;
        height: 20px;
        fill: #00c585
    }
</style>

相关文章

  • 把svg当成组件使用

    好处是可以随意更改 svg的填充色 安装 or webpack配置vue-cli2.0配置 vue-cli3.0配...

  • vue-cli3使用svg的最佳实践

    目录 iconfont的三种使用方式及其优缺点 封装svg组件 svg雪碧图 自动导入svg图标 封装svg组件 ...

  • SVG use使用

    平时使用svg,都是当成图片来使用,直接用img标签像引入图片一样引入svg。现在认识一下SVG Sprite技术...

  • 封装svg组件

    svg图标的使用基于这次项目的图标使用本地的svg图片。普通的使用方式 避免每次写这三行代码,封装一个svg组件 ...

  • 使用 node.js 将 svg 图片批量转为 vue 组件

    在使用 svg 图片的时候,有一种做法是把 svg 图片转换成 vue 组件的方式,所以就写了个脚本批量进行了转换...

  • vue3 + vite 组件

    svg 组件 组件文档:README vite-plugin-svg-icons[https://github.c...

  • 在 laravel vue 中使用 svg 图标

    安装扩展组件: 在 webpack.mix.js 中添加引用: 在 app.js 中引用组件 svg 使用: 默认...

  • [Error]react-native-art-svg

    本文将纪录svg遇到的问题 SVG不可嵌套RN提供的UI组件 SVG不可嵌套RN提供的UI组件,例如:

  • vue中使用svg注意点

    网上介绍在vue中如何使用svg的教程已经很多了,我这不多做赘述。 场景 已经根据网上的教程,将svg组件引入到页...

  • 项目使用svg图标

    vue-element-admin基础模板中,已经封装好了使用svg图标的组件,此组件在vue-ssr项目中也同样...

网友评论

      本文标题:把svg当成组件使用

      本文链接:https://www.haomeiwen.com/subject/akqvkqtx.html