element-ui 源碼架構

來源:互聯網
上載者:User

標籤:ide   img   r.js   dcl   logs   結構   input   ima   入口   

1、項目結構

2、src下的入口檔案

https://github.com/ElemeFE/element/blob/dev/src/index.js

入口檔案實現的功能為:

(1)國際化配置

(2)組件全域註冊

(3)在prototype上掛載共用方法

3、自訂指令directives

自訂指令directives主要定義了2種情形:

(1)mousewheel.js

mousewheel.js主要使用mousewheel.js(https://github.com/basilfx/normalize-wheel)來實現滑鼠滾輪事件。

mousewheel.js應用在table組件中,如“固定表頭”,“流體高度”中。

 

(2)repeat-click.js

repeat-click.js就是“函數防抖”!請參考https://www.cnblogs.com/mengfangui/p/9515993.html。

主要用在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:https://github.com/taylorhakes/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擷取。

 

element-ui 源碼架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.