Extjs学习笔记(十二) gridpane MVC

1.extjs中创建应用用到的方法

MVC文件结构



 
    Ext.application() 实际上是(类)Ext.app.Application
        例子
        Ext.application({
            name: 'MyApp',
            launch: function() {
                Ext.create('Ext.container.Viewport', {
                    items: {
                        html: 'My App'
                    }
                });
            }
        });
    Ext.app.Controller 控制器
    Ext.ComponentQuery 组建查询去(extjs4.0新特性) 实际上是(类) Ext.container.Containerxtype: container

 

app.js:

Js代码  收藏代码
  1. Ext.onReady(function(){  
  2.     Ext.QuickTips.init();  
  3.     Ext.Loader.setConfig({  
  4.         enabled:true  
  5.     });  
  6.     Ext.application({  
  7.         name : 'AM',//应用的名字  
  8.         appFolder : "app",//应用的目录  
  9.         launch:function(){//当前页面加载完成执行的函数  
  10.             Ext.create('Ext.container.Viewport', { //简单创建一个试图  
  11.                 layout:'auto',//自动填充布局  
  12.                 items: {  
  13.                     xtype: 'userlist',  
  14.                     title: 'Users',  
  15.                     html : 'List of users will go here'  
  16.                 }  
  17.             });  
  18.         },  
  19.         controllers:[  
  20.             'Users'  
  21.         ]  
  22.     });  
  23. })  

 controller/User.js

Js代码  收藏代码
  1. Ext.define('AM.controller.Users', {  
  2.     extend: 'Ext.app.Controller',  
  3.     init:function(){  
  4.         this.control({  
  5.             'userlist button[id=delete]':{  
  6.                 click:function(o){  
  7.                     var gird = o.ownerCt.ownerCt;  
  8.                         var data = gird.getSelectionModel().getSelection();  
  9.                         if(data.length == 0){  
  10.                             Ext.Msg.alert("提示","您最少要选择一条数据");  
  11.                         }else{  
  12.                             //1.先得到ID的数据(name)  
  13.                             var st = gird.getStore();  
  14.                             var ids = [];  
  15.                             Ext.Array.each(data,function(record){  
  16.                                 ids.push(record.get('name'));  
  17.                             })  
  18.                             //2.后台操作(delet)  
  19.                             Ext.Ajax.request({  
  20.                                 url:'/extjs/extjs!deleteData.action',  
  21.                                 params:{ids:ids.join(",")},  
  22.                                 method:'POST',  
  23.                                 timeout:2000,  
  24.                                 success:function(response,opts){  
  25.                                     Ext.Array.each(data,function(record){  
  26.                                         st.remove(record);  
  27.                                     })  
  28.                                 }  
  29.                             })  
  30.                             //3.前端操作DOM进行删除(ExtJs)  
  31.                         }  
  32.                 }  
  33.             }  
  34.         });  
  35.     },  
  36.     views:[  
  37.         'List'  
  38.     ],  
  39.     stores :[  
  40.         "Users"  
  41.     ],  
  42.     models :[  
  43.         "User"  
  44.     ]   
  45. });  

 Model/User.js

Js代码  收藏代码
  1. //User类  
  2. Ext.define('AM.model.User', {  
  3.     extend: 'Ext.data.Model',  
  4.     fields: [  
  5.         {name: 'name',  type: 'string',sortable : true},  
  6.         {name: 'age',   type: 'int',sortable : true},  
  7.         {name: 'email',   type: 'string',sortable : true}  
  8.     ]  
  9. });  

 store/User.js

Js代码  收藏代码
  1. //User数据集合  
  2. Ext.define('AM.store.Users', {  
  3.     extend: 'Ext.data.Store',  
  4.     model: 'AM.model.User',  
  5.     storeId: 's_user',  
  6.     proxy:{  
  7.         type:'ajax',  
  8.         url:'/extjs/extjs!getUserList.action',  
  9.         reader: {  
  10.             type: 'json',  
  11.             root: 'topics'  
  12.         },writer:{  
  13.             type:'json'  
  14.         }  
  15.     },  
  16.     autoLoad: true //很关键  
  17. });  

 view/List.js

Js代码  收藏代码
    1. //User数据集合  
    2. Ext.define('AM.store.Users', {  
    3.     extend: 'Ext.data.Store',  
    4.     model: 'AM.model.User',  
    5.     storeId: 's_user',  
    6.     proxy:{  
    7.         type:'ajax',  
    8.         url:'/extjs/extjs!getUserList.action',  
    9.         reader: {  
    10.             type: 'json',  
    11.             root: 'topics'  
    12.         },writer:{  
    13.             type:'json'  
    14.         }  
    15.     },  
    16.     autoLoad: true //很关键  
    17. });  

posted on 2013-12-09 16:25  kangxuebin  阅读(196)  评论(0)    收藏  举报

导航