ich über Vermittler gelesen haben, Ereignis-Aggregator, mit, backbone.events ... etcBackbone-Kommunikation zwischen den Ansichten, ein anderes Muster
ich über eine andere mögliche Muster unten beraten müssen, denken Sie, dieses Übel? oder gut? wenn nicht gut, was sind die Vorbehalte/Probleme.
Dieses "Muster" beantwortet ein sehr klassisches Problem. Wenn Sie auf View1 klicken, muss View2 gerendert werden. View1 und View2 sind unabhängig (dies ist kein Subview-Fall). Zwischen View1 und View2 verwenden wir ein "Actions" -Modul (ja, mehr oder weniger inspiriert von react/flux). Hier
ist der Plan in Pseudo-Code:
View1:
initialize:
Actions.subscribe(this, 'view2);
View2:
onclickwtv:
Actions.displayView2();
Actions:
this._Views = [];
subscribe(view, viewName):
this._Views[viewName] = view;
displayView2:
this._Views['view2'].render(); // or show or wtv function needed
Wenn eine Ansicht entfernt wir eine Austragen Funktion in Aktionen aufrufen würde, die die spezifische Ansicht von der _Views Array pop würde.
Ziel dieses Schemas ist es, die verschiedenen möglichen Interaktionen zwischen Ansichten sichtbar zu machen (anstelle eines Ereignisaggregators, in dem Sie keine zentrale Stelle haben, um diese Interaktionen zu sehen).
Ich kann es kaum erwarten, Ihre Gedanken darüber zu lesen!
Ihre Frage könnte für Code Review, http://codereview.stackexchange.com geeigneter sein. Das heißt, ich denke, Ihre Lösung hat zu viel Kopplung. Es wäre besser, wenn Actions die Ansichten initialisiert und abonniert hätten. Die Ansichten können Aktionen ignorieren und können glücklicherweise Ereignisse auslösen, die sich unbekümmert darum kümmern, wer gerade zuhört. – 76484
Aufrufe sind meist in Router oder manchmal in Eltern Ansichten –
Dank für Ihr Feedback –