博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
element-ui 源码架构
阅读量:7078 次
发布时间:2019-06-28

本文共 1389 字,大约阅读时间需要 4 分钟。

1、项目结构

2、src下的入口文件

入口文件实现的功能为:

(1)国际化配置

(2)组件全局注册

(3)在prototype上挂载共用方法

3、自定义指令directives

自定义指令directives主要定义了2种情形:

(1)mousewheel.js

mousewheel.js主要使用mousewheel.js()来实现鼠标滚轮事件。

mousewheel.js应用在table组件中,如“固定表头”,“流体高度”中。

 

(2)repeat-click.js

repeat-click.js就是“函数防抖”!请参考。

主要用在InputNumber 计数器中,控制用户点击频率。

4、locale文件夹设置国际化语言

5、mixins

(1)emitter.js

emitter.js中定义2个函数:

broadcast(componentName, eventName, params):广播给子组件(向子组件方向传递)
dispatch(componentName, eventName, params):分发给父组件(向父组件方向传递)
这2个函数在组件中使用非常多,所以很多组件中都定义了“componentName”自定义属性,便于广播和分发。

(2)focus.js

使dom元素获取焦点

(3)locale.js

国际化输出。

 

//使用 import Locale from 'element-ui/src/mixins/locale';{
{ t('el.colorpicker.clear') }}

 (4)migrating.js

migrating.js 主要目的是在浏览器控制台输出 element ui已经移除的一些属性

 6、collapse-transition.js
函数式组件(待研究)

 7、utils通用库

(1)clickoutside.js

点击元素外面才会触发的事件。
import Clickoutside from 'element-ui/src/utils/clickoutside';//自定义指令directives: { Clickoutside },//使用v-clickoutside="close"

(2)date.js

日期格式化js。修改自fecha:

 

(3)dom.js

对dom元素进行操作,如hasClass,addClass,removeClass,getStyle,setStyle,on(绑定事件),off(解除事件)

(4)util.js

util.js定义一些常用函数:hasOwn,getValueByPath,valueEquals。

(5)vdom.js

vnode判断,vodne获取。

 8、可以分模块加载

如:import { Button, Select } from 'element-ui';

原因是:每个模块都有install函数

import ElButton from './src/button';/* istanbul ignore next */ElButton.install = function(Vue) {  Vue.component(ElButton.name, ElButton);};export default ElButton;

 

 

 

转载地址:http://impml.baihongyu.com/

你可能感兴趣的文章
调查:Android的领先地位稳固
查看>>
在Maven项目中使用JUnit进行单元测试
查看>>
Docker发布应用程序指南
查看>>
你朋友圈里的广告是怎么做到合你胃口的?
查看>>
#第1天#《C Primer Plus》学习历程
查看>>
为什么说GraphQL可以取代REST API?
查看>>
亚马逊是如何进行软件开发的
查看>>
腾讯开源手游热更新方案,Unity3D下的Lua编程
查看>>
Kafka迎来1.0.0版本,正式告别四位数版本号
查看>>
Chef宣布100%开源,要走红帽模式?\n
查看>>
用实例讲解Spark Sreaming
查看>>
Visual Studio 15.8 Preview 3支持多点编辑功能
查看>>
我们究竟应不应该使用框架?
查看>>
如何用Kotlin Coroutines和Architecture Components进行Android开发?
查看>>
RxJava系列六(从微观角度解读RxJava源码)
查看>>
How do you create a DynamicResourceBinding that supports Converters, StringFormat?
查看>>
《快学 Go 语言》第 9 课 —— 接口
查看>>
HTML5抽奖转盘
查看>>
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制_31.6. 监控
查看>>
python 练习
查看>>