Dans le projet j'utilise le modèle MVP. J'ai 2 vue et 2 présentateurs correspondants. De "Presenter2
" je veux obtenir la valeur sélectionnée dans "View1
". Quelle est la meilleure façon de le faire? Je sais qu'il vaut mieux utiliser le bus d'événements. Mais donc je dois créer 2 événements et 2 gestionnaires d'événements (1er événement va augmenter lorsque Presenter2 besoin de valeur sélectionnée de View1
, et il sera traité en Presenter1.
2ème événement va augmenter en Presenter1
(comme: new selectedValueEvent(value)
pour notifier Presenter2 sur la valeur sélectionnée. Presenter2 traitera selectedValueEvent(value)
et obtiendra value
)GWT MVP. Comment utiliser le bus d'événement?
0
A
Répondre
1
Si le présentateur doit obtenir la valeur sélectionnée lorsque l'utilisateur fait une action, vous ne pourrez pas utiliser un événement (les deux présentateurs pourraient peut-être réagir au même événement, donc pas besoin d'en utiliser deux différents?)
Si on sait quand le présentateur doit obtenir la valeur (une étape définie dans un travail flux), vous pouvez à elle comme ceci:
Gardez une référence aux vues dans le ClientFactory
:
public class ClientFactoryImpl implements ClientFactory {
private static final EventBus eventBus = new SimpleEventBus();
/* The views */
private static final SampleView sampleView = new SampleView();
....
public ClientFactoryImpl(){
eventBus.addHandler(ReleaseAddedEvent.type, sampleView);
....
}
// getter and setters
}
Ainsi, dans le présentateur, vous pouvez obtenir une référence à la vue: SampleView view = MyEntryPoint.getClientFactory().getSampleView();
et vous pouvez juste appelle une méthode de la vue qui renvoie la valeur sélectionnée.
Questions connexes
- 1. gwt - mvp design
- 2. Meilleures pratiques GWT - MVP
- 3. Pourquoi devrais-je utiliser ClientFactory dans le projet MVP GWT?
- 4. GWT MVP Exemple
- 5. gwt mvp paramètres personnalisés emplacement
- 6. Conception MVP avec GWT ClickHandler
- 7. MVP GWT - problème d'injection EventBus
- 8. GWT MVP Motif (Guice-Dispatcher) Performace Problème
- 9. Affichage des enregistrements avec GWT MVP
- 10. GWT mvp: Places, RequestFactory et SmartGwt et gwt-sl
- 11. Test des présentateurs dans l'application MVP GWT
- 12. En-tête/pied de page dans le projet MVP GWT
- 13. GWT 2.2.0 et les frameworks MVP tiers
- 14. Communication inter module utilisant le bus d'événements dans mvp4g gwt
- 15. Comment utiliser le GWT EventBus
- 16. Des tutoriels sur le cadre officiel de GWT MVP?
- 17. Comment construire une application GWT en utilisant MVP
- 18. Comment utiliser le concepteur GWT avec le plugin Eclipse GWT?
- 19. Cadre mobile js qui implémente le modèle de conception MVP
- 20. Comment saturer le bus mémoire
- 21. Comment utiliser GWT Widget.fireEvent?
- 22. gwt: Comment utiliser setEventListener?
- 23. Comment utiliser GWT fileupload?
- 24. GWT MVP - problème de paramètres d'événement personnalisé de retriving
- 25. GWT & MVP - Meilleures pratiques pour afficher/modifier des objets complexes?
- 26. Gwt-query ne fonctionne pas pour mon MVP.
- 27. MVP ou activités et lieux, pour GWT 2.2
- 28. Comment répondre aux URL avec le framework MVP intégré de GWT?
- 29. GWT concept de bus d'événement dans un autre cadre
- 30. Serveur GWT <-> bus de message client?
Oui, dans mon application j'utilise clientFactory. Et maintenant cela a fonctionné comment vous avez écrit (obtenir un autre (ne correspondant pas à ce présentateur) Voir et appeler sur cette méthode View getSelected()) Mais je pense que créer une référence dans Presenter n'est pas une bonne idée .. Ou pas? – MyTitle
Si vous créez simplement une référence locale dans une méthode dans le présentateur, cela ne devrait pas poser de problème car la référence locale n'existe que tant que cette méthode est exécutée. – steffinchen
oui, j'ai créé variable locale) ok, merci)) – MyTitle