Store的用法
Store是一個存儲數據對象Model的集合緩存,他可以爲extjs的可視化組件提供數據
(function(){
Ext.onReady(function(){
//詳解store的用法
Ext.define("person",{
extend:'Ext.data.Model',
fields:[
{name:'name'},
{name:'age'}
],
proxy:{
type:'memory'
}
});
var s = new Ext.data.Store({
//fields可以省去model指定的類,直接在fields中寫需要的類即可
fields:[
{name:'name'},
{name:'age'}
],
//data也可以直接在store裏面寫,因爲它是一個方法,可以直接賦值
data:[
{name:'laowang',age:23},
{name:'yaoyao',age:22}
],
//可以用proxy的代理方式賦值,運用ajax的異步交互
proxy:{
type:'ajax',
url:'extLession/store06/person.jsp',
autoLoad: true //是自定加載,可是不寫它一點也不影響程序的進行
//當我們用memory的代理的時候用到自動加載,如果用到ajax,json等這樣的代理的方式的時候我們用load來加載
}
});
//ajax是異步的請求,如果在不用laod,直接each的話,是得不到name的值的,因爲當執行到type爲ajax的時候,程序不會等着去請求jsp頁面,而是往下執行,因爲沒有得到jsp頁面的值,所以each的name是空的
s.load(function(records, operation, success){
Ext.Array.each(records,function(model){
//alert(model.get('name'));
});
s.filter('name','yaoyao');//過濾想要的
});
s.each(function(model){
alert(model.get('name'));
},this)
});
})();