Ergebnis 1 bis 2 von 2
  1. #1
    Questioner ist offline Grünschnabel
    registriert
    27-04-2007
    Beiträge
    4

    Auf fremdes Event reagieren/fremdes Event abonnieren

    Hi Leute,

    ich versuche mein Problem mal an einem Beispiel zu erklären.

    Ich habe ein Objekt "Filter" und ein Objekt "Elemente", von denen ich jeweils mehrere Instanzen bilden möchte.
    Nun soll jede Objektinstanz von "Filter" ein Event "filter" bereitstellen, auf welches eine "Elemente"-Instanz hören/reagieren soll...

    Beispiel-Code (nicht funktional):
    Code:
    function Filter(name) {
    
    ... this.name = name; this.setFilterValue = function(value){
    this.value = value; Auslösung Event filterUpdate
    }; ...
    }; function Elemente() { .
    .. this.gefiltert = function(filter){
    alert("filter.name");
    } ...
    }; var fA = new Filter("FilterA"); var fB = new Filter("FilterB"); var e1 = new Element(); e1.abboniereEvent(fA.filterUpdate, gefiltert); var e2 = new Element(); e2.abboniereEvent(fA.filterUpdate, gefiltert); var e3 = new Element(); e3.abboniereEvent(fB.filterUpdate, gefiltert); fA.setFilterValue(1); -> e1.gefiltert() -> "FilterA" -> e2.gefiltert() -> "FilterA" fB.setFilterValue(1); -> e3.gefiltert() -> "FilterB"

    Ich hoffe es ist klar, was ich vorhabe?!

    Sobald das Filter-Objekt ein Event feuert, sollen andere Objekte (hier Elemente), die das Event abonniert haben, darauf reagieren. In OOP-Sprachen gibt es so ein Konstrukt natürlich, aber auch bei JS?!

    Natürlich könnte ich in dem Filter-Objekt auch ein Array an Elemente-Instanzen pflegen und diese bei "Auslösung des Events" antriggern, jedoch soll keine feste Verbindung zwischen Filter und Element bestehen, sodass ein Element auch jederzeit und ohne weitere Verbindlichkeiten gelöscht werden kann.

    Oder gibt es sonst Lösungsansätze?
    Wichtig wäre mir, dies alles ohne irgendwelche Frameworks zu realiseren.

    Vielen Dank und beste Grüße
    Q

  2. #2
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.302

    AW: Auf fremdes Event reagieren/fremdes Event abonnieren

    Zitat Zitat von Questioner Beitrag anzeigen
    In OOP-Sprachen gibt es so ein Konstrukt natürlich, aber auch bei JS?!
    Warum sollen Design Patterns auf OOP beschränkt sein*? Das Observer Pattern funktioniert in JS genauso gut wie in C++.

    * - es ist ja gerade der Sinn dieser Patterns, dass sie für alle Programmiersprachen gelten

Ähnliche Themen

  1. Ajax aufruf durch fremdes Script verhindern
    Von cefour im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 07-03-2011, 23:07
  2. Antworten: 4
    Letzter Beitrag: 04-10-2010, 16:33
  3. fremdes Fenster ohne Referenz auslesen
    Von tune im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 19-09-2007, 20:37
  4. Fremdes Fenster
    Von kuchlerm im Forum JavaScript
    Antworten: 13
    Letzter Beitrag: 01-04-2003, 22:13
  5. Fremdes Formular ansprechen
    Von compay im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 20-02-2003, 08:30

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •