vue使用Font Awesome的方法步骤


Posted in Javascript onFebruary 26, 2019

折腾前言

目前工作主要使用 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使用Font Awesome的方法步骤

图标存放目录

为了开发方便,新建 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: 直接设置字体,改变不了大小;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
Dec 28 Javascript
xss文件页面内容读取(解决)
Nov 28 Javascript
用Javascript来生成ftp脚本的小例子
Jul 03 Javascript
javascript避免数字计算精度误差的方法详解
Mar 05 Javascript
js中style.display=&quot;&quot;无效的解决方法
Oct 30 Javascript
Bootstrap实现默认导航栏效果
Sep 21 Javascript
详解node HTTP请求客户端 - Request
May 05 Javascript
Layui 设置select下拉框自动选中某项的方法
Aug 14 Javascript
微信小程序实现登录注册tab切换效果
Dec 29 Javascript
通过实例了解JS 连续赋值
Sep 24 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
Aug 10 Javascript
vue实现图片按比例缩放问题操作
Aug 11 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
Feb 26 #Javascript
create-react-app使用antd按需加载的样式无效问题的解决
Feb 26 #Javascript
JS实现电话号码的字母组合算法示例
Feb 26 #Javascript
JS实现的合并两个有序链表算法示例
Feb 25 #Javascript
JS实现判断有效的数独算法示例
Feb 25 #Javascript
js实现通过开始结束控制的计时器
Feb 25 #Javascript
js实现倒计时器自定义时间和暂停
Feb 25 #Javascript
You might like
一个SQL管理员的web接口
2006/10/09 PHP
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
学习ExtJS Column布局
2009/10/08 Javascript
基于Jquery的跨域传输数据(JSONP)
2011/03/10 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
js跳转页面方法总结
2014/01/29 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
python实现哈希表
2014/02/07 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
Python之Class&amp;Object用法详解
2019/12/25 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
八年级语文教学反思
2014/02/11 职场文书
就业导师推荐信范文
2015/03/27 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
企业承诺书格式范文
2015/04/28 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书