Extjs4.1MVC详解


app.js

Ext.onReady(function(){
   Ext.QuickTips.init();
   Ext.Loader.setConfig({  //开启自动加载功能
       enabled:true
   });
   Ext.application({  
      name:'AM',      //自定义命名空间,通常都定义为AM
      appFolder:'app',  //配置Ext框架所在的文件目录
      launch:function(){   //在所有资源都载入成功后运行
          Ext.create('Ext.container.Viewport',{  
              items:{
            	  width:1500,
                  height:500,
                  xtype:'mainlayout' //这里引用了自定义的组件mainlayout(视图层的MainLayout的别称)
              }
          });
      },
      controllers:[  //加载所有的控制器
          'UserController'
      ]
   });
});
控制层:

UserController.js

Ext.define('AM.controller.UserController',{
    extend:'Ext.app.Controller',//继承Ext.app.Controller类
    init:function(){
        this.control({   //控制事件处理
        	'userlist button[id=add]':{  
        		click:function(){
        	          //do something
        		}
        	}		      
        });
    },
    views:[
         'UserList',   //放在MainLayout之前加载
         'DeptList',
         'MainLayout'     
    ],
    stores:[
         'UserStore',
         'DeptStore'
    ],
    models:[
         'UserModel'
    ]
});

Model层:

UserModel.js

Ext.define('AM.model.UserModel',{
     extend:'Ext.data.Model',  //用来绑定到grid表字段
     fields:[
         {name:'id',type:'string'},
         {name:'name',type:'auto'},  
  	 {name:'password',type:'string'},
  	 {name:'birth',type:'auto'},
         {name:'email',type:'auto'},
         {name:'intro',type:'string'}
    ]
});

Store层:

UserStore.js

Ext.define('AM.store.UserStore',{
    extend:'Ext.data.Store',
    model:'AM.model.UserModel',
    proxy:{
       type:'ajax',
       url:'/ExtjsTest/test/readuser',
       reader:{
            type:'json',
            root:'userinfo'
       },
       writer:{
           type:'json'
       }
    },
    autoLoad:true
});
DeptStore.js

Ext.define('AM.store.DeptStore',{
    extend:'Ext.data.TreeStore',
    defautRootId:'root',  
    proxy:{
       type:'ajax',
       url:'/ExtjsTest/test/showuser',
       reader:{
            type:'json'
       },
       writer:{
           type:'json'
       }
    },
    autoLoad:true
});
视图层:

UserList.js

Ext.define('AM.view.UserList',{
	    extend:'Ext.grid.Panel', //GridPanel组件
	    alias:'widget.userlist', //别名
	//  title:'用户信息',
	    width:500,
	    height:500,
	    store:'UserStore',  //绑定UserStore数据集
	    selModel:{
		   selType:'checkboxmodel'
	    },
	    tbar:[{text:"添加",id:'add'},{text:'删除',id:'del'},{text:'保存',id:'save'}],  //按钮事件在控制层写
	    columns:[{header:'编号',dataIndex:'id',field:{xtype:'textfield',allowBlank:false}},  
		     {header:'姓名',dataIndex:'name',field:{xtype:'textfield',allowBlank:false}},
		     {header:'密码',dataIndex:'password',field:{xtype:'textfield',allowBlank:false}},
		     {header:'生日',dataIndex:'birth',field:{xtype:'datefield',allowBlank:false}},
		     {header:'邮件',dataIndex:'email',field:{xtype:'textfield',allowBlank:false}},
		     {header:'简介',dataIndex:'intro',field:{xtype:'textfield',allowBlank:false}}],
	   ]
});
DeptList.js

Ext.define('AM.view.DeptList',{
	extend:'Ext.tree.Panel',  //TreePanel组件
	alias:'widget.deptlist',
    //  title:'树',
	width:300,
	height:500,
        rootVisible:false, 
        dockedItems:[{
           xtype:'toolbar',
           dock:'left',
           items:[
             {xtype:'button',text:'add',id:'add'},   
             {xtype:'button',text:'delete',id:'del'},
             {xtype:'button',text:'copy',id:'copy'}
        ]
      },
      store:'DeptStore',  //绑定DeptStore数据集
    }
});
效果图:



  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
ExtJS 6.2.0 API是ExtJS的应用程序编程接口,用于构建Web应用程序。ExtJS是一种基于JavaScript的框架,提供了丰富的组件和工具,使开发者能够轻松地构建互动式和功能丰富的应用程序。以下是对ExtJS 6.2.0 API的一些详细说明: 1. 组件库:ExtJS提供了许多易于使用和可定制的组件,如窗口、表单、网格、树等。这些组件可以帮助开发者快速构建功能强大的用户界面。 2. 数据包装和绑定:ExtJS的数据包装和绑定功能使开发者能够轻松地将数据绑定到组件上,并自动处理数据的更新和变化,实现数据的双向绑定。 3. 响应式设计:ExtJS支持响应式设计,可以根据不同的设备和屏幕尺寸自动调整和优化应用程序的布局和样式。 4. 主题和样式:ExtJS提供了多种主题和样式,开发者可以根据需要选择和定制,以满足应用程序的设计要求。 5. MVC架构:ExtJS采用MVC(模型-视图-控制器)架构,帮助开发者将应用程序的逻辑和界面分离,提高应用程序的可维护性和可扩展性。 6. 数据包管理器:ExtJS提供了数据包管理器,方便开发者从官方或第三方获取和安装组件、插件或应用程序。 7. 图表和可视化:ExtJS提供了丰富的图表和可视化工具,帮助开发者将数据以更直观的方式展示和分析。 总之,ExtJS 6.2.0 API提供了丰富的功能和工具,使开发者能够轻松构建功能强大、交互性好的Web应用程序。无论是构建企业级应用程序还是个人项目,ExtJS都是一个值得考虑的框架。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜之子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值