Cela fait longtemps que j'essaye de faire fonctionner cela mais je n'ai toujours pas trouvé de solution pour cela, sauf ajouter un after -ender dans les écouteurs de la vue. Mais je veux que le contrôleur le gère.ExtJS Déclencheur du contrôleur sur le lien hypertexte cliquez sur
Quelqu'un at-il une idée sur la façon dont je peux résoudre ce problème?
C'est ce que j'ai dans mes dossiers au moment 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');
}
});
vue/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'
}
]
});
Merci pour la réponse s_hewitt. Je vais essayer de faire tourner ceci dans quelque chose qui fonctionne quand je rentre du travail :) – Ole
J'ai essayé de résoudre ceci. Si je remplace le commentaire dans le postendender de la vue par une alerte, il est déclenché correctement. Mais c'est le lien entre la vue et le contrôleur avec lequel je me bats. Aussi, je ne suis pas sûr si je l'ai bien fait en ce qui concerne la partie "newTab" dans mon contrôleur. Voici mon code actuel: http://pastie.org/2757329 – Ole
Déplacez l'écouteur 'afterrender' vers votre contrôleur. Voir ma modification. –