Backbone-events mit wildcards
Gibt es eine Möglichkeit, zu hören, zu allen Veranstaltungen ein namespace. Also, wenn ich höre, dass ein Ereignis wie dieses:
app.vent.on('notification(:id)', function(type){console.lof(type)})
Wird es hören, alle Ereignisse mag dieses:
app.vent.trigger('notification:info')
app.vent.trigger('notification:error')
app.vent.trigger('notification:success')
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht. Backbone-Regel feuert ein Allgemeines
eventName
Veranstaltung, sowieeventName:specifier
Veranstaltung. Ein Beispiel HIERFÜR istModel.change
, die Ihnen erlaubt, zu hören, um alle änderungen, sowie änderungen der einzelnen Felder:Nach diesem Muster in Ihrem code, den Sie auslösen könnten Ihre Veranstaltungen wie folgt:
Hören und zu den Allgemeinen Fall:
Erwähnt in dieser Antwort es ist nicht möglich zu hören-events mit wildcards. Aber wie Sie hören können
all
dies funktionieren wird:vent
), wird es wahrscheinlich einen viel von Ereignissen ausgelöst. Dieall
handler werden sehen, eine Menge Verkehr, und dazu führen, dass eine tatsächliche Leistung Treffer.Geschrieben haben ich diese Helfer:
Verwenden Sie diese in Ihrer Ansicht, die Sie tun würde:
Zu hören, die für diese Veranstaltungen würden Sie tun:
Warnung: das Anhören von event-namespaces auf benutzerdefinierte Ereignisse können nicht mehr funktionieren. Für das Beispiel bedeutet dies nicht Arbeit:
Wenn ich "trigger" - Sitzung:login_success' auf der
@app
nur zwei spezifische Ereignisse ausgelöst werden, die nicht den Namensraum ein.Zugehörigen github-issue: https://github.com/documentcloud/backbone/issues/2558