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 相关文章推荐
JsDom 编程小结
Aug 09 Javascript
jQuery链使用指南
Jan 20 Javascript
使用jquery如何获取时间
Oct 13 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
Dec 14 Javascript
js数组去重的hash方法
Dec 22 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
Jun 07 Javascript
JavaScript对JSON数据进行排序和搜索
Jul 24 Javascript
vue-router实现tab标签页(单页面)详解
Oct 17 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
Nov 29 Javascript
javascript用defineProperty实现简单的双向绑定方法
Apr 03 Javascript
js 函数性能比较方法
Aug 24 Javascript
js实现简单抽奖功能
Nov 24 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
星际中的相关伤害
2020/03/04 星际争霸
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
php抽象类用法实例分析
2015/07/07 PHP
php实现图片等比例缩放代码
2015/07/23 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
js+jquery常用知识点汇总
2015/03/03 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
js中创建对象的几种方式
2017/02/05 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
Python import自定义模块方法
2015/02/12 Python
python模拟enum枚举类型的方法小结
2015/04/30 Python
利用python实现数据分析
2017/01/11 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
解决Python plt.savefig 保存图片时一片空白的问题
2019/01/10 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
canvas像素画板的实现代码
2018/11/21 HTML / CSS
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
职称评定自我鉴定
2014/03/18 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
网站推广策划方案
2014/06/04 职场文书
车间核算员岗位职责
2014/07/01 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书