2012-07-27 2 views
1

J'ai donc une vue principale qui contient une collection d'objets. Les objets vont glisser à gauche et à droite dans un carrousel.Backbone Event déclenche la coordination entre différentes vues

J'ai un événement qui lie sur mousedown à l'intérieur de de la vue principale pour suivre jusqu'où ils roulent la souris pendant ce temps. Cependant, s'ils quittent l'élément de vue principale tout en maintenant la souris enfoncée, je veux toujours suivre la distance et aussi le moment où l'événement mouseup est déclenché.

Quel serait un bon moyen d'intégrer une logique d'interface utilisateur comme celle-ci qui commence avec une vue de backbone locale, mais a des événements qui se déclenchent de l'élément? Je pense qu'il y a des pièges, surtout en termes de lisibilité à venir, si je devais étaler la fonctionnalité sur les vues globales et locales.

Répondre

2

Je pense que vous devez déplacer le récepteur d'événements de la souris hors du CarouselView. En fait n'est pas si bizarre.

Vous pouvez définir un ElasticView dont el est body. Il contient le CarouselView et son travail principal est d'écouter le mousedown dans le CarouselView.$el et peut également écouter le mouseup dans le .

Il peut également communiquer directement avec CarouselView si vous l'ajoutez en tant que param dans le constructeur ElasticView. Ou la communication peut être effectuée par un EventAggregator ou un modèle commun ou quelque chose.

Questions connexes