vue插件怎么写(vue中使用iconfont)
一 、目录结构
二 、登陆iconfont ,添加图标到购物车 ,并加入到项目中
1. 设置图标下载格式
2. 项目设置:勾选字体格式SVG
3. 下载到本地 ,解压
补充
其实在你下载的图标文件里demo有个html文件
在浏览器打开后会看到你所有的图标 ,并且在页面最底下有使用方法具体内容请自行查看
4. 把demo_index.html、demo.css 、inconfont.js添加到 src/assets/icon文件中
5. 在src/components/SvgIcon中添加组件代码
<template> <svg :class="svgClass" aria-hidden="true"> <use :xlink:href="iconName" /> </svg> </template> <script> 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; } } } }; </script> <style scoped> .svg-icon { width: 1em; height: 1em; vertical-align: -0.15em; fill: currentColor; overflow: hidden; } </style>6. 在目录src/icons/index.js中添加下面的代码 全局注册icon组件,并引入非下载的iconfont中的svg图标
这个有个起源是我接手了一个项目 ,然后用的iconfont图标 ,因为这个别人下载的iconfont图标 ,所以我想在往里加图标没办法添加 。这时我就单个下载iconfont svg图标 并加入到src/icons/svg目录下
import Vue from vue; import SvgIcon from @/components/SvgIcon; import @/assets/icon/iconfont; Vue.component(svg-icon, SvgIcon); const requireAll = reqireContext => reqireContext.keys().map(reqireContext); const req = require.context(./svg, false, /\.svg$/); requireAll(req);7. 在main.js中引入
require(./icons);遇到的问题: 当单个下载iconfont图标时 ,发现选中标签栏时图标没有高亮
1).有问题的效果
2).应该达到的效果
原因:svg图标 带有 fill 属性 ,默认是带有颜色的,想要修改先把原fill颜色去掉 ,如下:
3)去色前后对比
去色后:
8. 使用
<svg-icon icon-class="renzhen" />效果:
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!