《Ext JS模板與組件基本知識框架圖----模板》


最近在整理Ext JS的模板和組件,在參考《Ext JS權威指南》,《Ext JS Web應用程序開發指南》,《Ext JS API》等相關書籍后才寫下這篇《Ext JS模板與組件基本知識思維導圖》,由於篇幅較長,所以必須肢解與各位分享。想要《Ext JS模板與組件基本知識思維導圖》原文檔的可以與我聯系。

      組件是Ext JS的基礎,模板是Ext JS4的基礎,熟悉模板也就了解組件的組織方式,也就為使用組件和構建自定義組件打下基礎。

130個組件雖多,但最基本的就是四類:容器、面板、布局、視圖。而且在使用中容易混淆其作用,所以我們必須先從整體上掌握模板和組件,后續分化學習他們之間區別和各自作用。

模板

一.模板概述{1.什么是模板(HTML片段,占位符)2.為什么會用到模板統一的渲染管道3.Ext JS中模板有哪些,怎么分的?(2種)}  

二.Ext.Template

     1.Ext.Template主要配置項(disableFormats(中文意思)) 

     2.Ext.Template主要方法(1.newExt.Template\2.append\3.apply\4.applyOut\5.applyTemplate\6.insertAfter\7.insertBefore\8.insertFirst\9.overwrite\10.set\11.addStatics\12.create( ) )

     3.Ext.Template怎么使用

            1.Ext.Template.append方法及數組形式模板值2.Ext.Template.overwrite方法及JSON對象模板值

            3.在模板中使用格式化函數                    4.使用自定義的格式化函數解析多層json對象

三.格式化輸出數組(可先跳過此節 參考於ExtJS權威指南和ExtJS的API) 

     1.Ext.String.(10個)

             (1.htmlEncode  2.htmlDecode(解碼)   3.urlAppend(hellow?a=1這個?)  4.trim(n. 修剪;整齊)  5.capitalize   6.ellipsis(n. 省略;省略符號) 7.escapeRegex(RegEx n. 正則表達式)

               8.toggle(n. 開關,觸發器Ext.String.toggle("aaa","abc","相等"))  9.leftPad( Pad n.填補Ext.String.leftPad("12 3",5,"0000")-000012 3) 10.format(Ext.String.format(",生於{0}“,1964)-我生於1964)

     2.Ext.Number(5個)

                       (1.constrain(約束.constrain(21,10,20))   2.snap(adj. 突然的)     3.toFixed(.toFixed(3.1415926,5));//3.14159)       4.from(值是數字則返回數字,否則返回默認值)        5.randomInt(randomInt(1,100)))     

     3.Ext.Date  

        常用屬性:defaultFormat

        常用方法:1.add(Ext.Date.add(new Date('12/15/2016'), Ext.Date.DAY, -5))     2.between(console.log(Ext.Date.between(date, start, end)); //返回true)  

                          3.format   (Ext.Date.format(date, 'YmdH:i:s'); //  2016122014:30:00

                                        D (使用兩位數字顯示天數,前導字符為0)  /   j  (不使用兩位數字顯示天數)   /    M (使用兩位數字顯示月份,前導字符為0)  /    n  (不使用兩位數字顯示月份,不加前導字符0)    /     Y  (使用4為數字顯示年份)

                                        Y  (使用兩位數字顯示年份)       /    G  (使用24小時格式顯示小時,沒有前導字符0)  /  H  (使用24小時格式顯示小時,有前導字符0) /  i  (顯示分鍾,有前導字符0) /      S  (顯示秒,有前導字符0)

                          4.parse (n. 從語法上分析)var input = '2016103114:30:00';  var format = 'YmdH:i:s';  var date = Ext.Date.parse(input, format, true);  console.log(date);  //Mon Oct 31 2016 14:30:00 GMT+0800 (中國標准時間) 

                          5.getDayOfYear  (var date = new Date('12/15/2016 14:30:00');  console.log(Ext.Date.getDayOfYear(date)); //返回 349  )

                          6.getDaysInMonth 獲取該月所擁有天數 7.getWeekOfYear(返回指定日期中其年份的周數)  8.isLeapYear (返回指定日期中其年份的周數)  9.getFirstDayOfMonth(返回指定日期中其月份第一天是星期幾,返回值為06中的數字,0便是星期日)

                         10.getLastDayOfMonth  (返回指定日期中其月份最后一天是星期幾,返回06中數字,0表示星期日)  11.getFirstDateOfMonth (返回指定日期中返回月份第一天的日期值) 12.getLastDateOfMonth(返回指定日期中返回月份最后一天的日期值)

                         13.now   (返回當前日期)

      4.Ext.util.Format屬性(具體看思維導圖)

 四.超級模板:Ext.XTemplate  (重點來了)

      1.為何稱其為超級(1.自動填充數組數據2.執行判斷語句3.數學運算以及執行實例內的方法4.模板有valuesparentxindexxcount等四個內建的模板變量,用於特殊處理5.還可根據需要進行自定義操作)

      2.Ext.XTemplate方法(XTemplate對象重寫了Template對象的apply方法和applyOut方法,其余方法全部繼承自Template對象。)

      3.Ext.XTemplate怎么用?

                     1.整個依舊和Template一樣寫在Ext.onReady(function(){...});中。2.模板的定義現在是var   abc(自定義名稱)=new   Ext.XTemplate();下。

                     3.自動填充數組和作用域切換 //Xtemplate可進行自動數組填充,改善了Template的單一填充性,這里所用到的方法是<tpl for="">....</tpl>

                     4.使用基本的條件邏輯運算   //和數組遍歷一樣依舊在<tpl>標簽下進行,標簽tpl和操作符if,可用來執行條件判斷,以決定模板的哪一部分需要被渲染出來。

                     5.在子模板中訪問父對象     //在標簽中提取值的時候采用parent.父類變量

                     6.數組索引和簡單運算支持   //當處理數組時特殊符號{#}表當前數組索引加1,從1開始而不是0元素可轉換成數字也支持基本+-*/運算

                     7.自動渲染簡單數組         //對於只包含簡單數組的可以使用{.}符號進行循環輸出。

                     8.在模板中執行任意代碼     // XTemplate模板中任何包含在{[...]}中間的代碼都在模板的作用域范圍內執行,它支持一些特殊變量

                                          values       //當前作用域下的值對象,通過切換子模板的作用域可以改變其中的值。

                                          parent       //父模板的值對象

                                          xindex      // 循環模板時的索引(從1開始)

                                          xcount     //模板循環時的總循環次數

                      9.使用模板成員函數

五.模板的優勢1.實現數據與數據表現的分離2.模板可以一次定義多次使用 3.將表現層相關的邏輯封裝在模板內部


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM