ExtJS學習筆記(三)

先說下,extJS主要就是查API來寫代碼。

1.創建實例模型model,要繼承Ext.data.Model,特別注意,js裏繼承是extend,不是Extend,也不是extends。示例:

Ext.define('UserModel',{
	extend:'Ext.data.Model',
	fields:[
	{name:'name',type:'string'},//string首字母要小寫
	{name:'id',type:'int'},
	{name:'birthday',type:'date'}
	]
});

var user = Ext.create('UserModel',{
	name:'張三',
	id:45,
	birthday:new Date(1990,09,09)
});
然後獲取user的屬性時,得用get方法,不能直接用。
alert(user.get('birthday'));//正確彈出
alert(user.birthday);//會提示undefined
2.使用Extjs實現增刪改查時,由於有service,serviceImpl,dao,daoImpl四個層,則增加方法時必須在這四層都添加,雖然麻煩,但提高了擴展性。

3.PI中組件旁邊標REQ的表示在新建組件時必須配置那幾項,這可參考Ext.grid.Panel

4.對於日期的格式化,如new Date(1990,09,08)可用

xtype:'dateColumn',format:'Y年M月D日'
格式化日期。

5.用ExtJS實現表的增刪改查<開發中最常用的佈局>
①建包順序 entity-->base-->dao-->daoImpl-->service-->serviceImpl-->action(即原來的servlet)-->util-->vo
②service和dao層都是接口。如
List<UserVO> findByPage(int currentPage,int page){}
③以前寫jsp頁面需要寫3個(增,查,刪改),分層完後就可以只寫一個jsp頁面,裏邊寫不同的方法。

6.long型怎麼轉換爲int?
long先轉換爲number,再由number轉換爲int。因爲long和int都是number型。但int可以自動轉換爲long型。

7.爲了能讓componentMgr管理組件,就必須給組件添加id。

8.設置表單樣式,可以全部寫到default中,而其它地方不用寫,可以節約時間。

9.up()獲取到的是ext的組件,down()能獲取任何深度的子組件,並且在down方法中,不應包含組件的id,而應該是組件的xtype.
如window組件中有form組件,則用

var form1 = btn.up('form');//獲取表單組件
而對於down,則可用

var form2 = btn.up('window').down('form');//先獲取頂級組件window,再用down獲取子組件form
而不是說標籤在方法上邊就用up,在下邊就用down,這是錯誤的。

10.補充xtype含義
xtype就是一個代表類(class)的的標示名字。如有這個類Rxt.ux.MyGrid,正常情況下需要用這個名字來實例化這個類(即創建類的對象)。這時,可以這樣登記類的xtype:

Ext.reg('mygrid',Ext.ux.MyGrid);//類登記了新的xtype
其中,xtype是mygrid,而類名的一般形式是Ext.ux.MyGrid.這就是說,xtype mygrid和類Ext.ux.MyGrid是連在一起的。

作用就是使用xtype時,在內存中的僅僅是一個配置對象。如

{xtype:'mygrid',border:false,width:200}
然後在需要的時候才實例化,減少了很多內存消耗。如不使用xtype,則當這個grid有多個實例時,會消耗許多內存。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章