如果這不是您感興趣或者需要學習的東西,何必點開呢?人生苦短。
實例中我們通過view層望主界面中添加一個grid,
1、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改成如下所示:

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,如下:

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層的添加。