Tun ItemView löst Blase?
Ich habe eine CompositeView für eine Tabelle. Ich habe Trigger-set in der Kind-ItemView für jede Zeile...
var TableRow = Marionette.ItemView.extend({
tagName: "tr",
template: _.template($(TableTemplates).filter('#tableRow').html()),
triggers: {
"click td": "click:td"
}
});
Sind die Auslöser soll-Blase bis zu den übergeordneten CompositeView?
Vom die docs...
Zugriff auf diese [die Ansicht, das Modell und die Sammlung Eigenschaften der Ansicht, dass das Ereignis ausgelöst hat] ermöglicht mehr Flexibilität bei der Verarbeitung von Ereignissen aus mehreren Ansichten. Zum Beispiel, eine Registerkarte Steuerung oder erweitern/reduzieren-widget wie eine panel-Leiste auslösen könnte, die dasselbe Ereignis aus vielen unterschiedlichen Ansichten und behandelt werden mit einer einzigen Funktion.
Wäre nicht die "single-Funktion" werden in der übergeordneten CompositeView, so dass er reagieren kann der Trigger aus einer seiner untergeordneten ItemViews? Wie funktioniert die CompositeView hören für die ItemView auslösen?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie sprudeln.
Das einzige, was zu beachten ist, dass wenn ein
ItemView
genannt wird, von einemCompositeView
oderCollectionView
, dass ausgelöst wird, habenitemview
vorangestellt, in der Namen, also:click:td
wäre zu hören in derCompositeView
alsitemview:click:td
Dieser string geändert werden kann, wie diese:
Also der Auslöser wäre
some:prefix:click:td
EDIT: Auf neuere Versionen (nicht sicher über die Start-version), das Präfix
itemview
wurde geändert, umchildview
Weitere Infos hier:
Marionette docs
compositeview
odercollectionview
zu itemview.