In einem Projekt wird asyncron eine JSON Abfrage gemacht und die Daten verarbeitet, das Ganze ist ausgelagert in eine separate JavaScript Datei. Jetzt möchte ich gerne die Anzahl der zurück gegebenen Elemente auf der Seite ausgeben, dafür nutz ich der Einfachheit halber ein jQuery Schnipsel und füge die Zahl hinter einem bestimmten Element ein. Um diesen Individuellen Schnipsel jetzt allerdings nicht die Ablauf Logik der JSON Abfrage unterzubringen habe ich einen individuellen Trigger integriert und reagieren in einer anderen JavaScript Datei darauf und kann somit beiden „sauber“ von einander trennen.
$.getJSON(this.url, function (data) { // ... data verarbeiten // wenn fertig diesen CustomTrigger aufrufen // für bessere Zuordnung einen individuellen Namenspace nutzen // und dann noch die Anzahl derDaten übergeben $(document).trigger('AppNameSpace/ItemsCountReady', data.length ); });
In der anderen JavaScript Datei frage ich dieses Event ähnlich einem Click-Event ab und verarbeite die übergebenen Daten.
(function(){ $(document).on('AppNameSpace/ItemsCountReady', function(e, results){ $('h1').after($('<p />').text( results + ' items')); }); })();
Quelle:
http://tutsplus.com/lesson/custom-events-and-the-observer-pattern/