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 性能优化手册 推荐
Feb 23 Javascript
Js 刷新框架页的代码
Apr 13 Javascript
网页整体变灰白色(兼容各浏览器)实例
Apr 21 Javascript
跨域传值即主页面与iframe之间互相传值
Dec 09 Javascript
location.href用法总结(最主要的)
Dec 27 Javascript
JS可以控制样式的名称写法一览
Jan 16 Javascript
js加载读取内容及显示与隐藏div示例
Feb 13 Javascript
js和jquery如何获取图片真实的宽度和高度
Sep 28 Javascript
浅谈javascript语法和定时函数
May 03 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
Jan 16 Javascript
微信小程序实现富文本图片宽度自适应的方法
Jan 20 Javascript
JavaScript中交换值的10种方法总结
Aug 18 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实现mysql数据库备份类
2008/03/20 PHP
PHP MemCached 高级缓存应用代码
2010/08/05 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
深入理解JS继承和原型链的问题
2016/12/17 Javascript
详解Vue双向数据绑定原理解析
2017/09/11 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
Python自动登录126邮箱的方法
2015/07/10 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
Python面向对象程序设计之继承与多继承用法分析
2018/07/13 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
使用Python发现隐藏的wifi
2020/03/04 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
迪奥官网:Dior.com
2018/12/04 全球购物
日常奢侈品,轻松购物:Verishop
2019/08/20 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
亿企通软件测试面试题
2012/04/10 面试题
联谊活动策划书
2014/01/26 职场文书
2014三八妇女节活动总结
2014/03/01 职场文书
音乐教师求职信
2014/06/28 职场文书
运动会演讲稿200字
2014/08/25 职场文书
初二英语教学反思
2016/02/15 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
MySQL Threads_running飙升与慢查询的相关问题解决
2021/05/08 MySQL
Java并发编程必备之Future机制
2021/06/30 Java/Android