extjs4.0中Store的用法

 

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)

    });

})();

你可能感兴趣的:(extjs4.0中Store的用法)