À l'aide de plus d'un contrôleur avec ExtJS 4 MVC
Disons que j'ai un contrôleur principal, alors que ma demande a un contrôleur pour chaque "module". Ce contrôleur principal contient la fenêtre d'affichage, puis un en-tête (avec un menu) + un "centré" conteneur, qui est vide au début.
Un clic dans le menu va changer le module courant/contrôleur et le adhoc vue (qui appartient à ce contrôleur) sera affiché dans le centré conteneur.
Je pense que c'est un scénario très simple, mais étrangement, je n'ai pas trouvé la bonne façon de le faire. Des idées? Merci beaucoup!
OriginalL'auteur TigrouMeow | 2011-10-04
Vous devez vous connecter pour publier un commentaire.
Voici ce que je fais: j'ai une barre d'outils en haut, à gauche de la navigation et de l'emplacement du centre est de la zone de travail (en gros un panneau à onglets) comme vous l'avez mentionné. Permet de prendre chaque partie de fo de la demande et de l'expliquer.Tout d'abord, voici comment mon viewport ressembler à:
Vous pouvez voir que j'ai une barre d'outils (App.vue.menu.Barre d'outils) avec le menu et de navigation de gauche (App.vue.menu.NavigationPane). Ces deux composantes forment mon menu principal ou une passerelle vers d'autres modules. Les utilisateurs peuvent sélectionner l'élément de menu et le module approprié points de vue (comme la forme de la grille, l', graphiques, etc) sont chargées dans le "centerpane'. Le centerpane n'est rien mais une classe dérivée de la Poste.onglet.Le panneau.
Comme vous l'avez dit, j'ai un contrôleur principal qui gère toutes les demandes dans la barre d'outils et le volet de navigation. Il gère uniquement la barre d'outils et le volet de navigation, cliquez sur actions. Voici mon AppController:
Regarder une de mes bouton du gestionnaire. - Je trouver le contrôleur par le biais de la 'demande' de la propriété:
Avec l'aide de getController méthode, j'obtiens l'instance du contrôleur, puis appeler la méthode, à l'intérieur de mon contrôleur. Maintenant permet d'avoir un regard sur le squelette de mon module de contrôleur:
Mon module de contrôleur ont seulement les actions relatives à ce module (module de la grille, des formes etc...). Cela devrait vous aider à obtenir commencé par rouler dans la bonne direction.
désolé, je n'ai pas vous. où est le contrôleur enfant sachant que le contrôleur de parent? Pouvez-vous développer? Il n'y a pas d'interaction a commencé à partir du module et les contrôleurs contrôleur principal dans le code ci-dessus. droit? ou je suis la compréhension dont vous avez mal.. 🙂
Désolé, le contrôleur enfant ne sait pas sur le vue parent ('centerpane' ici). Je voudrais que les modules (tas de contrôleur + point de vue) de pouvoir être indépendant.
OriginalL'auteur Abdel Raoof
Dans le contrôleur principal ajouter un enfant de contrôleur dans le gestionnaire d'événements click de menu
Pour lancer la fonction d'ajout d'un écouteur pour contrôleur ajouter un événement comme celui -
Maintenant mettre le code dynamique de l'intégration de vues dans la fenêtre d'affichage dans la méthode init de ChildController.
HTH 🙂
ensuite, utilisez l'application des événements...laissez-le contrôleur principal du feu des événements d'application lorsque le menu cliqué et de l'enfant poignée du contrôleur.
C'est ce que je fais maintenant, et je passe l'id de la "conteneur principal" pour le contrôleur, afin que je puisse utiliser cela.control' et 'refs' correctement. Encore je pense que c'est beaucoup de petites astuces, j'aimerais tout ça pour être gérée dynamiquement par le cadre 🙁
OriginalL'auteur techknowfreak