Как отлавливать щелчки узлов дерева из контроллера (MVC) в ExtJs 4?
В моих контроллерах ExtJS 4 я могу ловить события на определенных элементах на странице. Например, чтобы поймать щелчки пунктов меню, я могу сделать:
init: function() {
this.control({
'maintoolbar menuitem[action=contacts]': {
click: function() {
// do something ;
}
}
}).......
Как мне сделать то же самое, чтобы ловить щелчки узлов дерева? Я очень хочу получить тот же эффект, что и пункт меню (у дерева есть идентификатор settingstree).
РЕДАКТИРОВАТЬ: вот код дерева:
Ext.define('MyApp.view.system.SettingsTree',{
extend: 'Ext.tree.Panel',
requires: [
'Ext.data.TreeStore',
'MyApp.store.SettingsTree',
],
title: MyApp.locale.T('settings'),
defaults: {
expanded:true
},
id:'settingstree',
store: Ext.create('MyApp.store.SettingsTree'),
alias: 'widget.settingstree',
rootVisible: false,
useArrows: true,
/*listeners: {
itemclick: function(view, record, el, index, ev, options ) {
console.log(arguments);
}
}*/
});
Обратите внимание, что я намеренно закомментировал слушателя itemclick. Хотя это сообщает обо всех нажатых узлах, я предпочитаю ловить это в контроллере, как я должен...
Есть идеи?
Спасибо!
1 ответ
Решение
Вы можете положить:
this.control({
'settingstree': {
itemclick: function() {
// do something ;
}
}
})
в соответствующем контроллере