Сообщение от Infarch
|
В контроллере можно. И даже нужно. Просто указываете что листенеры работают в контроллере и пишете все функции там:
listeners: {
itemclick: {
fn: 'onDataviewSelectConfigure',
single: false
},
select: 'onDataviewSelect',
scope: 'controller' // <------------------
}
А зачем вы пишете "single: false"? Это ведь как бы по умолчанию следует. Другое дело если "true"...
|
У меня что-то не получается ни так ни так. Я правильно понимаю, что здесь вы говорите о ViewController? Т.е. если я добавляю во view строчку scope: 'controller' , я говорю что обработчик у меня будет реализован в viewController. Я сделал:
listeners: {
itemclick: {
fn: 'onDataviewSelectConfigure',
scope: 'controller'
},
select: {
fn: 'onDataviewSelect',
scope: 'controller'
}
}
Далее во viewController:
Ext.define('MyApp.view.MainViewController', {
extend: 'Ext.app.ViewController',
alias: 'controller.main',
onDataviewSelect: function(dataview, record, eOpts) {
console.log("OK");
},
});
Далее в консоле такое: Uncaught TypeError: Cannot read property 'apply' of undefined
Что еще нужно поправить?