He intentado que esto funcione durante bastante tiempo, pero todavía no he podido encontrar una solución para esto, excepto agregar una afterrender dentro de los oyentes en la vista. Pero quiero que el controlador lo maneje.Controlador ExtJS desencadenante en hipervínculo
¿Alguien tiene una idea sobre cómo puedo solucionar esto?
Esto es lo que tengo en mis archivos en el momento http://pastie.org/2751446
controller/App.js
Ext.define('HD.controller.App', {
extend: 'Ext.app.Controller'
,views: [
'core.Header',
'core.Navigation',
'core.Content'
]
,init: function() {
this.control({
'navigation a[id=tab1]': {
click: this.newTab
}
})
}
,newTab: function() {
console.log('Tab 1 should be loaded now');
}
});
vista/core/Navigation.js
Ext.define('HD.view.core.Navigation', {
extend: 'Ext.panel.Panel'
,name: 'navigation'
,alias: 'widget.navigation'
,layout: 'accordion'
,region: 'west'
,width: 200
,title: 'Navigation'
,collapsible: true
,items: [
{
title: 'Title 1'
,html: '<a id="tab1" style="cursor:pointer;">Tab 1</a>'
},
{
title: 'Title 2'
,html: 'Second'
}
]
});
Gracias por la respuesta s_hewitt. Trataré de hacer girar esto en algo que funcione cuando llegue a casa del trabajo :) – Ole
He estado tratando de resolver esto. Si reemplazo el comentario en la ejecución de la vista con una alerta, se desencadena correctamente. Pero es el vínculo entre la vista y el controlador con el que estoy luchando. Además, no estoy seguro de haberlo hecho bien con respecto a la parte "newTab" en mi controlador. Aquí está mi código actual: http://pastie.org/2757329 – Ole
Mueva el oyente 'afterrender' a su controlador. Ver mi edición –