原本這個號是爲了找工做(記錄本身找工做期間刷代碼的所想所得,重要是僞裝本身有一個技術博客...),可是排序算法還沒刷完就找到了工做,因此就懶病繼續發做就沒寫了。如今工做了,真是什麼都不懂,爲了記錄工做中遇到的問題,必須再把它撿起來。javascript
最近的項目中要用到ExtJS,由於根本就不懂,因此就給我安排了一個簡單的表格增刪查改的實現,之中遇到了許多問題,慢慢解決吧,如今先說說在一個grid中,當使用了行編輯插件後,點擊保存如何觸發事件。java
如何在view面設置一個監聽、觸發監聽,以後在控制器頁面來處理這個監聽程序,過程以下:對於每個類,由什麼來觸發監聽,能夠再ExtJS自帶的api文檔中找到該類的Events項,裏面有哪些事件,哪些事件就能觸發監聽。例如Ext.grid.plugin.RowEditing類,有beforeedit、canceledit、edit、validateedit四種事件,那麼listener就能夠監聽這四種事件,閱讀api文檔可知它們分別監聽什麼事件,在view頁面插件配置項下編寫以下代碼:算法
listeners: { edit: { fn: 'wobuzhidao', scope: 'controller' } }
Listeners監聽了edit事件,其處理函數名爲wobuzhidao,做用範圍在控制器,控制器代碼以下api
wobuzhidao: function (editor, context, eOpts) { alert(context.record.get('age')); }
在這個處理函數裏,有3個參數,是從view頁面監聽程序的edit傳過來的,經過查閱api文檔咱們能夠看到這三個參數,而且知道他們分別表明什麼。以上代碼實現了在grid裏的plugin插件中,對行編輯設置了一個監聽,當編輯保存後會觸發edit事件,經過context參數的.record.get(‘age’)獲取編輯行對應列的值。函數