Denetleyicilerimden birinde açıklanan bir işlev var. İşlev, farklı durumlarda, farklı görünümlerden kullanmam gereken bir form oluşturmaya özen gösterir. Mümkün ve bu işlevi her denetleyicide aynı kodu eklemeden ihtiyaç duyduğum görünümlerden çağırmanın yolu nedir? İşte ExtJS 4 - farklı görünümlerde belirli bir denetleyiciden işlev çağırma
diğer denetleyicisinden bir yöntem kullanmayı deneyin kumandanın kodudur: İşteExt.define('MY.controller.EventsController', {
extend: 'Ext.app.Controller',
models: [
'EventsRecord'],
stores: [
'Events'],
views: [
'EventsGrid'],
refs: [{
ref: 'EventsGrid',
selector: 'CalendarEvent'
}],
init: function() {
this.control({
'CalendarEvent': {
afterEditFinish: this.askForNotify,
deleteEvent: this.deleteEvent,
calendarEditFunc: this.calendarEditFunc,
addCalendarEvent: this.addCalendarEvent,
itemclick: this.onSelectEnableBtn
}
})
},
Ben var contr = Ext.getController('SomeController');
and..nothing gibi bir şey kullanmayı deneyin ..
askForNotify: function(editor, e) {...
Fonksiyonu çağırmak için 'getController' ile çalışmak mümkün değil mi?' Ext.getC ile denedim ontroller ('isim') 've' this.getController ('isim') ve her ikisi de bana bir hata verdi 'getController bir fonksiyon değil' ama bunun doğru yol olduğunu düşündüm. – Leron
getController, Ext.app.Controller sınıfından bir yöntemdir, bu yüzden şu anki görüşünüzün denetleyicisine bir başvuru yapmanız gerekir - bu da yine MVC'ye karşı düşünüyorum :) – sha
Aslında açıklamama izin ver - Posta bildirimleri için bir formum var Farklı durumlarda (farklı olaylardan, farklı olaylarda) gösterilmelidir, ancak form bir kontrolörde tanımlanmıştır. Ne düşünüyorsun böyle bir şeyi uygulamak için en iyi yol. Açıkçası kod kopyalayıp yapıştırmak doğru bir çözüm değil, bence kodu tek bir yere yerleştirmek için uygun bir yol olmalı ve bunu çoktan kullanmalıyım ama tam olarak ne yapacağımı bilemiyorum? – Leron