Extjs4 MVC 添加view層


如果這不是您感興趣或者需要學習的東西,何必點開呢?人生苦短。
實例中我們通過view層望主界面中添加一個grid,

1、app.js改成如下:

app.js
 1 Ext.Loader.setConfig({enabled:true});//開啟動態加載
 2 Ext.application({
 3     name: 'MVC',
 4 
 5     appFolder: 'mvc',
 6     
 7     controllers: ['MVCS'],
 8 
 9     launch: function() {
10         Ext.create('Ext.container.Viewport', {
11             layout: 'fit',
12             items: {
13                 xtype: 'userlist'
14             }
15         });
16     }
17 });

2.MVC/view/mvc/MVCS.js改成如下所示:

view/mvc/MVCS.js
 1 Ext.define('MVC.view.mvc.MVCS' ,{
 2     extend: 'Ext.grid.Panel',
 3     alias : 'widget.userlist',
 4 
 5     title : '人員列表',
 6 
 7     initComponent: function() {
 8         this.store = {
 9             fields: ['name', 'email'],
10             data  : [
11                 {name: '張三',    email: 'zs@cnblogs.com'},
12                 {name: '李四', email: 'ls@cnblogs.com'}
13             ]
14         };
15 
16         this.columns = [
17             {header: 'Name',  dataIndex: 'name',  flex: 1},
18             {header: 'Email', dataIndex: 'email', flex: 1}
19         ];
20 
21         this.callParent(arguments);
22     }
23 });

代碼如上,alias為我們定義的grid聲明了一個別名userlist,我們可以直接通過xtype:'userlist'生成我們定義的grid,app.js中我們的xtype既是。

3、我們在controller中聲明我們使用的views,如下:

controller
 1 Ext.define('MVC.controller.MVCS', {
 2     extend: 'Ext.app.Controller',
 3     
 4     views : ['mvc.MVCS'],
 5 
 6     init: function() {
 7         this.control({
 8             'userlist': {
 9                 itemclick: this.editUser
10             }
11         });
12     },
13 
14     editUser: function(grid, record) {
15         console.log('Double clicked on ' + record.get('name'));
16     }
17 });

 

如上,我們在views中聲明了我們的view,可添加多個,聲明方式為view文件夾下的路徑:mvc.MVCS,這樣我們的controller就能夠找到我們的views,並在controller中直接使用我們定義的別名找到我們的元素。我們在controller中通過this.control.為我們的grid定義了單擊事件,運行效果如下:

最終,我們實現了view層的添加並對view層進行了事件的添加,下一篇回憶一下modal層的添加。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM