0
回答
extjs 4.2的 ArrayReader 使用問題
华为云实践训练营,热门技术免费实践!>>>   
您好:
我想要測試 extjs 4.2的  ArrayReader
範例如下:
原本           使用
[code]
              var Customer = Ext.data.Record.create([
                { name:'id',         type:'int',    mapping:0 },
                { name:'name',       type:'string', mapping:1 },
                { name:'age',        type:'int',    mapping:2 },
                { name:'occupation', type:'string', mapping:3 },
                { name:'dob',        type:'string', mapping:4, dataFormat:'Y-m-d' }
            ]);
[/code]
卻出現 Uncaught TypeError: Cannot read property 'items' of undefined
後來取消[], 如下: 就可以過了..
[code]
            var Customer = Ext.data.Record.create(
                { name:'id',         type:'int',    mapping:0 },
                { name:'name',       type:'string', mapping:1 },
                { name:'age',        type:'int',    mapping:2 },
                { name:'occupation', type:'string', mapping:3 },
                { name:'dob',        type:'string', mapping:4, dataFormat:'Y-m-d' }
            );
[/code]


Q1.請問這樣正確嗎?


但:
Q2.non-proxy:
我使用 non-proxy ,卻顯示 "cannot read property 'getProxy' of undefined"




Q3.proxy :
改用    proxy,
當我用 console.debug(customerStore.getCount());
結果卻顯示0. 
為何?  customers 的資料 沒被載入嗎?


且,console.debug(customerStore.getAt(1).get('name'));
卻顯示 "Uncaught TypeError: Cannot read property 'get' of undefined " ?




[code]
            var customers = [
                [1, "David Wang", 27, "Programmer", "1983-01-01"],
                [2, "Mary Chen", 25, "Sales", "1985-11-22"],
                [3, "Christina Zung", 22, "Accountant", "1988-03-28"],
                [4, "Joe Fun", 30, "Lawyer", "1980-05-10"]
            ];
            
        //-------->CHAGE TO THIS -->OK PASS    
            var Customer = Ext.data.Record.create(
                { name:'id',         type:'int',    mapping:0 },
                { name:'name',       type:'string', mapping:1 },
                { name:'age',        type:'int',    mapping:2 },
                { name:'occupation', type:'string', mapping:3 },
                { name:'dob',        type:'string', mapping:4, dataFormat:'Y-m-d' }
            );




            var customerReader = new Ext.data.ArrayReader({idIndex:0},Customer);


            // non-proxy way-----------Q1.
            var customerStore =Ext.create('Ext.data.Store',   {reader:customerReader}
            );
            
            customerStore.loadData(customers);
            console.debug(customerStore.getAt(1).get('name'));  
 
            
            // proxy way----------Q2.
            
                 var customerProxy = new Ext.data.MemoryProxy(customers);
            var customerStore = new Ext.data.Store({
                proxy:customerProxy,
                reader:customerReader
            });
            customerStore.load();


           // console.debug(customerStore.getAt(1).get('name'));
            console.debug(customerStore.getCount());
[/code]    
举报
baseball
发帖于3年前 0回/475阅
顶部