Функции в контролере
Вложений: 1
Объясните пожалуйста что за фокусы с функциями в контролере?
Вот контролер Ext.define('MyApp.controller.Wrapper', { extend: 'Ext.app.Controller', stores: [ 'RegionStore', 'CityStore' ], views: [ 'Wrapper' ], init: function() { this.control({ '#combo-region': { select: this.onRegionSelect }, '#combo-city': { select: this.onCitySelect } }); }, onRegionSelect: function(combo) { //не работает Ext.widget('wrapper').down('#combo-city').clearValue(); //работает Ext.widget('wrapper').down('#combo-city').store.clearFilter(); //работает Ext.widget('wrapper').down('#combo-city').store.filter('cid', combo.getValue()); }, onCitySelect: function() { //не работает Ext.widget('wrapper').down('#button-select-city').enable(); } }); Архив с проектиком креплю ниже |
Вообщем это должо выглядеть так:
Ext.define('MyApp.controller.Wrapper', { extend: 'Ext.app.Controller', stores: [ 'RegionStore', 'CityStore' ], views: [ 'Wrapper' ], init: function() { this.control({ '#combo-region': { select: this.onRegionSelect }, '#combo-city': { select: this.onCitySelect } }); }, onRegionSelect: function(combo) { var cityCombo = combo.up('panel').down('#combo-city'); cityCombo.clearValue(); cityCombo.store.clearFilter(); cityCombo.store.filter('cid', combo.getValue()); }, onCitySelect: function(combo) { var buttonSelectCity = combo.up('panel').down('#button-select-city'); buttonSelectCity.enable(); } }); |
Или вот так var cityCombo = Ext.getCmp('wrapper').down('#combo-city');
getCmp() ищет компонет по прописанному в нем id='wrapper', наверное так даже лучше |
Часовой пояс GMT +3, время: 11:34. |