Mamy kręgosłup.Aplikacja js, która musi mieć wspólny model kontekstowy przechowujący zmienne środowiskowe aplikacji, które mogą wyzwalać zdarzenia w wielu widokach. Łatwym sposobem jest użycie tego samego modelu w wielu widokach, służąc jak obiekt globalny. Ale mam dwa problemy z tym projektem: po pierwsze, wydaje się, że jest to zły wzorzec projektu przy użyciu zmiennej globalnej; po drugie, zmusza wszystkie widoki do korzystania z tego samego modelu, co stworzyło niepożądane silne sprzężenie między widokami, chociaż każdy widok można ustawić tak, aby nasłuchiwał podzbioru atrybutów modelu.
Jednym z rozważanych przeze mnie rozwiązań jest to, że widok potomny może mieć swój własny model z tym współużytkowanym modelem kontekstowym jako jednym z jego atrybutów.
Jestem nowy w backbone.js, więc zastanawiam się, jakich innych alternatywnych rozwiązań używają ludzie.
Odpowiedzi:
1 dla odpowiedzi № 1Spojrzeć na backbone.wreqr, który zawiera globalny agregator zdarzeń i jest częścią wspaniałej biblioteki Backbone.Marionette.
Następnie można współużytkować instancję agregatora zdarzeń między widokami i pozwolić im nasłuchiwać zdarzeń wyzwalanych z modułu zmiennych środowiskowych.