vue.js系列中的vue-fontawesome使用


Posted in Javascript onFebruary 10, 2018

折腾前言

目前工作主要使用 vue.js 框架进行开发,自己又对 vue 不是那么了解,还是半桶的状态,所以得加紧步伐赶紧熟悉起来,这两天在使用脚手架 vue-cli 创建项目玩耍中,又一直对font-awesome锲而不舍,通过 github 了解到早有大牛搞出了 vue-awesome,因此就开始折腾了……

废话不多说,开搞!

准备工作

这个是作者的 github 地址:飞机

为了演示完整步骤,用脚手架新建个项目

正在创建中…

趁此闲话几句

这种方式使用有个好处就是,你可以自己自定义任何图标,即用 svg 格式输出,然后通过 Icon.register 去注册一个图标,注册方式如下:

如果图标很多的时候,DOM 中可能分散着大量的 svg 标签,这个不知道算不算缺点来着。

Icon.register({
 'chevron-right': {
  'width': 1280,
  'height': 1792,
  'paths': [{
   'd': 'M1107 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z'
  }]
 }
});

chevron-right 这个是该图标的名字,在使用的时候通过

<icon name="chevron-right"></icon> 去使用,至于样式按照正常定义即可。

paths 里面就是图标的绘制 svg 时候的路径信息

安装OK了,进入正题……

准备工作:

  • 安装 vue-awesome

$ npm install vue-awesome --save

这个简单安装完成就OK。

结果预览

从图中看其实图标最后就是个 svg 标签

vue.js系列中的vue-fontawesome使用

图标存放目录

为了开发方便,新建 src/icons 目录集中存放图标js文件

$ cd src/
$ mkdir icons && cmod

这里 cmod 是 777 权限,由于是用的是虚拟机,所以经常出现权限问题,因此索性直接给 777(仅限本地开发)

icon 组件

下载 Icon.vue 文件

到这里下载 Icon.vue 文件,建议将整个项目 git 下来。

这个组件的作用就是,用来创建 <icon name="your icon name"></icon> 自定义标签。

然后把 Icon.vue 放到 components 目录下(放哪里可以自己决定)

在 src/icons 创建注册图标文件

这个目录集中放置所有 icon 的注册 js 文件

创建出口文件 index.js 这里面将引入所有图标 js 文件

// src/icons/index.js
import './chevron-right.js';
// ...... 其他需要的图标文件

以右键头图标为例:(chevron-right.js)

import Icon from '../components/Icon.vue';
Icon.register({
 'chevron-right': {
  'width': 1280,
  'height': 1792,
  'paths': [{
   'd': 'M1107 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z'
  }]
 }
});

项目入口 main.js 引用字体库

项目主入口文件 main.js 中引入 vue-awesome 库和 icons/index.js 文件

引入图标组件

import Icon from './components/Icon';

引入图标内容文件

import './icons/index.js';

然后将 Icon 注册成 vue 组件

Vue.component('icon', Icon);

注册完成之后,我们就可以在代码中直接使用 <icon></icon> 标签了

结束

使用步骤还是很简单的,经过上面的步骤之后我们就可以正常使用图标库了

总结下来步骤其实就下面几步

  1. import Icon.vue 组件
  2. new you-icon.js,里面通过 Icon.register 注册图标
  3. 【可选】 新建图标文件出口文件,这个在使用的图标很多的时候比 较方便
  4. <icon name="you icon name"></icon> 引用图标
  5. 给图标设置样式(大小可以通过 transform: scale() 来设置)

PS: 直接设置字体,改变不了大小;

总结

以上所述是小编给大家介绍的vue.js系列中的vue-fontawesome使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 学习笔记 传智博客佟老师附详细注释
Sep 12 Javascript
javascript动态改变img的src属性图片不显示的解决方法
Oct 20 Javascript
精选的10款用于构建良好易用性网站的jQuery插件
Jan 23 Javascript
js中escape对应的C#解码函数 UrlDecode
Dec 16 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
Mar 24 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
Dec 25 Javascript
原生javascript上传图片带进度条【实例分享】
Apr 06 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
May 02 Javascript
详解webpack 多入口配置
Jun 16 Javascript
JavaScript实现快速排序的方法分析
Jan 10 Javascript
element vue Array数组和Map对象的添加与删除操作
Nov 14 Javascript
Angular+ionic实现折叠展开效果的示例代码
Jul 29 Javascript
集成vue到jquery/bootstrap项目的方法
Feb 10 #jQuery
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 #Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 #Javascript
webpack 4.0.0-beta.0版本新特性介绍
Feb 10 #Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
Feb 10 #Javascript
Vue组件和Route的生命周期实例详解
Feb 10 #Javascript
Vue2.0用户权限控制解决方案的示例
Feb 10 #Javascript
You might like
PHP 高手之路(二)
2006/10/09 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
PHP面试常用算法(推荐)
2016/07/22 PHP
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
python爬虫添加请求头代码实例
2019/12/28 Python
python中adb有什么功能
2020/06/07 Python
Python csv文件记录流程代码解析
2020/07/16 Python
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
2014自主招生自荐信策略
2014/01/27 职场文书
预备党员公开承诺书
2014/05/28 职场文书
2014年教务工作总结
2014/12/03 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
少儿励志名言(80句)
2019/08/14 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记