2015-02-11 3 views
0

Я довольно опытный с JS и Backbone, но хотите, чтобы ваша помощь мозгового штурма лучшее решение практики для следующей задачи:Backbone Design - Несколько видов, та же модель, разделение событий

Есть две точки зрения. Они сидят бок о бок одновременно на странице. Оба эти представления передаются одним и тем же экземпляром модели. Оба эти представления имеют действия, которые могут обновлять модель.

Каким образом, используя программирование, основанное на событиях на основе базового диапазона, вы считаете, что это лучший способ отличить события, выпущенные из вида для просмотра.

Возможным сценарием может быть: Пользователь выполняет действие, которое недействительно обновляет модель в представлении A. Но поскольку пользователь не выполнил его в режиме просмотра B, их не следует уведомлять.

+0

Получить любую обратную связь для ответов предоставлены? – cabe56

ответ

0

Вы можете использовать промежуточные объекты для управления потоком между репозиторием (объектом, где происходит соединение с базой данных) и созданием/обработкой представлений.
Вместо привязки модели к представлению из представления вы можете позволить промежуточному объекту (контроллеру общего назначения) выполнять проверки, если требуется, до повторного рендеринга представления с измененной моделью или коллекцией.
С помощью агрегатора событий вы можете инициировать события из представлений из представления и прослушивать событие из объекта «контроллер», который, в свою очередь, выполнит необходимые пользовательские действия.

0

Использование пользовательских событий кажется достаточно простым. Просто рассматривайте действия каждого вида так, как если бы они были разными, именовать события по-разному для каждого представления (пример this.trigger ('view1: event1'), this.trigger ('view2: event2')).

Удостоверьтесь, что представления подписаны на эти особые пользовательские события, чтобы избежать коллизий в действиях, которые могли бы инициировать события в обоих представлениях (например, обновления атрибутов).

Смежные вопросы