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)
});
})();