標籤:不用 結構 sencha http types 雙向 ati app create
官網:http://docs.sencha.com/extjs/6.5.1/classic/Ext.html
樣本demo:https://fiddle.sencha.com/#view/editor&fiddle/255l 密碼:k2
ExtJS
1、主要控制項:Application
、View,ViewModel,Controller,Component,Store,Model
2、常用store:Strore(最常用),JsonStore,TreeStore,ArrayListStore(用於本地下拉框)
3、Store
3.1、storeId:view使用,Ext.StoreMgr.get(‘storeId‘);全域唯一,容易被衝掉
3.2、推薦使用viewModel.getStore(‘vm中‘);grid.getStore();
3.3、autoload為true時執行個體化的時候就載入,否則在調用load方法時才載入
3.4、store可以通過proxy去載入restful
4、Controller
4.1、控制器的寫法盡量不用listen,用init的方法
4.2、initViewModel,可以保證viewmodel執行個體化完成
4.3、通過this.getReferences()可以擷取所有的視圖裡的引用
樣本:
----holder1(holder)----this.getView() --頂層
--------type10 ----holder1.type10
--------type20----holder1.type20
------------type21----holder1.type21
------------holder2(holder)----holder1.holder2
----------------type1----holder1.holder2.type1
4.4、通過this.getViewModel()擷取總對象
5、model
5.1、model只定義結構,可以通過proxy載入restful
6、model、store的區別
6.1、model是一條資料
6.2、store是mode的list
6.3、在vm裡面使用model是用links,使用store是用stores,使用data是用本機資料
6.4、store裡麵包含model屬性
7、viewmodel
7.1、links裡面的create:true表示new一個空的對象,如果是create:{id:123},表示new一個包含id資料的對象
7.2、links:id:12表示從後台請求主鍵id為12的資料,(id是不是固定寫法不確定)
8、自訂雙向bind屬性
8.1、參考url:http://docs.sencha.com/extjs/6.5.1/classic/Ext.Class.html#cfg-config
8.2、雙向繫結裡面如果帶小數點的表示json對象的方式訪問。
比如{task.types.url},那麼在vm裡面裡面可以使用viewmodel.set("task":{types:{url:"aaa"}})的方式進行設定值
也可以使用set(‘task.types.url‘,"XXX")進行賦值,預設還是會產生json對象。
9、資料類型:
String,Integer,Number,Bool,Date
參考地址:http://docs.sencha.com/extjs/6.5.1/classic/Ext.data.field.String.html
10、view.
10.1、定義一個referenceHolder:true,這個屬性之後的每個子孫節點可以定義個reference,referenceHolder也可以嵌套使用,在同一個referenceHolder下,不管多少級,不能重名,拉平浮動到同一referenceHolder層。
11、錯誤提示
12、data 本機資料(寫死的)
ExtJs學習筆記