【extjs6學習筆記】0.1 準備:基礎概念(02)
Ext 類
Ext 是一個全局單例的對象,在 Sencha library 中它封裝了所有的類和許多實用的方法。許多常用的函數都定義在 Ext 對象裏。它還提供了像其他類中一些頻繁使用的方法的快速調用。
? ?
define 方法
你可以用這個方法定義或者重寫一個類。 這個方法有三個參數,如以下代碼所示。 在這裏 name 參數是你要定義的類名,data 參數是應用於這個類的屬性,callback 是可選參數,這個函數將會在這個類被創建後調用:
? ?
Ext.define(name,data, callback)
extend 會創建一個新的類,並繼承父類的屬性和方法,你也可以重寫父類的方法。而 override 並不會創建一個新的類,而是修改這個被重寫的父類。
? ?
create 對象
創建一個類的實例:
? ?
getClass
如果創建的實例是用 Ext.define 定義的,那麽返回這個給定對象的類,否則返回 null:
? ?
getClassName
通過它的引用或實例返回類名稱:
? ?
-----------------------------------------------------------------------------
? ?
訪問 DOM
有三種方法來訪問 DOM 元素:get,query,和 select 。
? ?
Ext.get
get 方法是根據這個 DOM 元素的 ID 檢索獲取並封裝為 Ext.dom.Element
?? | var mydiv = Ext.get(‘myDivId‘); |
Ext.query
這種方式基於傳入的 CSS 選擇器 從給定的根節點開始查找。它返回一個匹配選擇器的元素(HTMLElement[]/Ext.dom.Element[])數組。如果沒有匹配的,返回一個空值的數組對象。
在下面示例中,myCustomComponent.getEl().dom 是傳遞的根節點。Ext.query 將檢索這個節點內的子元素,並返回一個數組包含 CSS class 為 ‘oddRow‘ 的的元素:
?? | var someNodes = Ext.query(‘.oddRow‘, myCustomComponent.getEl().dom); |
? ?
Ext.select
給出一些 CSS/XPath 選擇器,Ext.select 方法返回一個 CompositeElement 類型的對象,代表一個元素的集合。
這個 CompositeElement 對象可以進行過濾,叠代,和對整個集合執行整體操作等等:
? ? ?? | var rows = Ext.select(‘div.row‘); ////Matches all divs with class row rows.setWidth(100); // 這是設置所有元素的寬度為 100 |
? ?
你也可以用一行代碼,如下所示:
?? | Ext.select(‘div.row‘).setWidth(100); |
? ?
--------------------------------------------------------------------------------
? ?
Store
一個 store 代表一個 模型的實例 的集合並用於代理獲取數據。store 還定義了集合操作,例如 排序,過濾等等。它是通過擴展 Ext.data.Store 定義的。
? ?
Store 事件
store 提供了很多可監聽的事件。store 的一些常用事件:
- add: 當一條記錄添加到 store 後調用
- beforeload: 在加載數據之前調用
- beforesync: 在進行同步操作之前調用
- datachanged: 當 store中的記錄產生新增或刪除時觸發調用
- load: 當 store 讀取一個遠程數據源後觸發調用
- remove: 從 store 移除一條記錄觸發調用
- update: 當 store 中的一條記錄被更新觸發調用
? ?
? ?
--------------------------------------------------------------------------------
? ?
代理
所有的 stores 和 models 使用 proxy 來加載和保存數據。在代理中使用這個配置你可以指定如何讀取和寫入數據。你也可以指定調用 URL 讀取數據;你可以告訴讀取器這些數據的格式,不論是 JSON 還是 XML ,等等。
有兩種類型的代理:客戶端代理和服務器代理。
客戶端代理
客戶端代理是用於處理客戶端本身數據的加載和保存。這氛圍三種客戶端代理:內存,本地存儲,和會話存儲。
? ?
? ?
? ?
? ?
服務器端代理
服務器端代理是向服務器通信來讀取或保存數據。有四種代理:
- Ajax: 用於異步請求數據
- Direct: 使用 Direct 與服務器通信
- JSONP (JSON with padding): 這很有用,當你需要發送跨域請求時。而 ajax 只能請求相同的域。
- REST: 這會向服務器發送一個 ajax 請求,使用 RESTful 的風格,例如 GET,POST,PUT,和 DELETE。
? ?
? ?
【extjs6學習筆記】0.1 準備:基礎概念(02)