1. 程式人生 > >前端架構元件化開發系列一(Grid)

前端架構元件化開發系列一(Grid)

現在前端技術越來在專案中擔當比較重要的角色。特別Node.js 的出現。使JS又可以承擔前端和後臺,使用專案程式語言統一。

比如流行的

模組化:seajs(CMD)、Coomonjs、requirejs(AMD)

MVVM框架:avalon、vue、kendo、knockout、angular 。

UI框架:bootstrap、jqueryui、kendoui、easyui、amazeui、ext、JX、dwz

工具類:underscore、lodash

DOM庫:prototype、zepto、jquery

JS構建工具:NODE、GULP、express(基於node 的web伺服器框架)

現在網上有各種庫,框架。有時候讓人不知道到底用哪個才好。那就自己寫一個唄。開發簡單又滿足自己業務的框架才是好框架。

一般專案開發

原裝:完全自己寫。

封裝:在成熟的UI上面做擴充套件、封裝(推薦這個)

原封不動的引用:極不推薦。

下面我開發的一個例子,:

專案模組化:我選的是AMD規範。比如,我整個專案有一個main的配置檔案,裡面有整個專案依整的資源和一些全域性的配置引數。模組化對於元件顯的更加重要。

一個元件的組成部分大概就分為這幾類:資料來源、事件監聽、方法、引數

資料來源的封裝:(元件必須可以呈現本地靜態資料,也要對遠端資料的處理)

Configs:配置專案中,資料開發環境.現在很多專案都是前端先開發,那前端就得造靜態資料。本地資料必不可少。搭建可配置的本地資料與後臺真實資料介面,能快速便捷的切換開發資料環境。比如後臺介面釋出了.我只要把開發環境變數配成prd.那前端就會自動讀取prd下面所有後臺釋出的資料介面.


Request:網路請求.專案中與後臺的互動都是通過ajax 。那麼使用ajax 。那你得包封一下。因為專案中一些共性問題的處理。你需要統一處理。


dataSource:這是我寫的一個簡單的資料來源.它主要有倆個引數:data(本地資料),transport(遠端資料)




元件:(做一個例子,我開發一個grid 。grid 應該是很多專案中會用到的)

grid元件包含:資料展示、資料分頁(單獨抽出寫一個分頁元件)

引數設定: {  element: null, // 頁面中需要生成Grid元件元素
                columns: [],  欄位
                dataSource: null, 資料來源
                pager: null, 分頁面元件的引數
                parseTotalCount: function (d) {
                    return d.length || 0;
                }, 頁面總數的轉換
                autoBind:true 是否自動繫結資料}

事件監聽的幾種狀態:    events: ["onSuccess", "onError", "onPageChange", "onItemDataBound", "onDataBound", "onRender"],

HTML的拼接處理:元件展示的效果最終還是html,那要把死的HTML,變活,就得靠JS。開元件就像建房子。

要一步一步來。

比如Grid的HTML:它的元件的部分是哪些。table、tr、td就這麼簡單

根據資料來源返回資料記錄,生成多少TR,有多少欄位需要顯示,那就在TR裡面生成多少個TD。

grid 的初始化方法.

dataSource:返回資料,我就呼叫renderContent 顯現grid資料,這個方法就只有兩點。資料有多少條記錄就生成多少行,如果有分頁,去重新設定分頁元件的總記錄數




使用例子:


完成後的效果