2014-04-01 37 views
0

我有一個帶有面板的視圖文件,其中包含一個字段集,該字段集又包含4個切換按鈕。我有產生對切換按鈕,價值變動輸出控制器文件,在定義控制器sencha的同時訪問內部物品

Controller.js

View.js

目前你可以看到,我個人獲得refrences每個切換按鈕,和處理的變化事件。有什麼辦法可以創建一個fieldset引用,然後用它來引用切換按鈕(它是內部項目),並以編程方式處理切換按鈕'change'事件?的control

回答

0


第一個參數是一個選擇器,所以它應該結合聽者從視圖(http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.app.Controller-method-control)每個所選項目。
事情是這樣的:

Ext.define('test.controller.sortList', { 
    extend: 'Ext.app.Controller', 
    views: ['test.view.sortList'], 

    init: function() { 
     var me = this; 
     me.control({ 
      'fieldset #sortFirstName': { 
       change: me.sortFirstName 
      } 
     }); 
    }, 

    sortFirstName: function (field, newValue, oldValue) { 
     console.log('Value of this toggle has changed:', (newValue) ? 'ON' : 'OFF');  
    } 
}); 

或者你可以在視圖中添加監聽到這個事件,並準備使用PARAMS解僱你的自定義事件:

{ 
    xtype: 'togglefield', 
    id: 'sortFirstName', 
    value:1, 
    label: 'First Name', 
    labelWrap:true, 
    labelWidth: '50%', 
    listeners: [ 
     change: function (field, newValue, oldValue) { 
      // making smth with params 
      this.fireEvent('sortFirstName', param); 
     }, 
     scope: me 
    ] 
} 

,並進行管理的內部控制是這樣的:

me.control({ 
    'viewxtype': { 
     sortFirstName: me.sortFirstName, 
     sortSomethingMore: me.sortSmthMore 
    } 
}); 
相關問題