Лучшая практика для поддержания отношений в JS между группами элементов - PullRequest
1 голос
/ 09 февраля 2012

Итак, у вас есть один список и другой.Один используется для навигации, другой - метаданные.

Теперь идея состоит в том, что пользователь будет добавлять, переупорядочивать и удалять элементы в списке навигации, и мета-список должен обновляться, чтобы отражать происходящее.в списке навигации.При добавлении элемента в список навигации к HTML-списку добавляется фрагмент HTML.

Имейте в виду, что я буду использовать jQuery.

Так что вопрос, который я задаю, - лучшийспособ установить отношения между наборами элементов.Теперь я понимаю, что могу использовать индексы и: eq () и т. Д., Но в сложной реализации с большим количеством контейнеров все может стать неопрятным ... и возвращение на месяцы или годы в будущее для обслуживания может быть болезненным.

Просто интересно, есть ли у людей предложения по установлению ясных отношений.Хранить идентификаторы в скрытых полях?Какой-то мастер-массив?

Ответы [ 2 ]

2 голосов
/ 09 февраля 2012

То, как вы об этом думаете, скорее всего, даст некоторый код, похожий на спагетти. Я настоятельно рекомендую вам взглянуть на инфраструктуру MVC, такую ​​как backbone.js <<a href="http://documentcloud.github.com/backbone/" rel="nofollow">http://documentcloud.github.com/backbone/>. Backbone имеет мощную модель событий, которая позволит одному фрагменту кода пользовательского интерфейса легко транслировать события другим фрагментам кода пользовательского интерфейса.

Используя магистраль, вы можете использовать модель для отслеживания состояния ваших предметов. Затем вы можете иметь модульные представления «подписаться» для добавления / удаления / изменения событий в модели.

Система Backbone была буквально создана для решения проблемы, с которой вы сталкиваетесь в своем приложении: «Как отслеживать состояние всех моих объектов? Когда они меняются, как отслеживать последующие изменения пользовательского интерфейса?»

Надеюсь, это поможет

0 голосов
/ 09 февраля 2012

Хм, я думаю, вы могли бы сделать это более сложным, чем необходимо.Если у вас есть часть DOM, отслеживающая то, что видит пользователь, и объект JS, отслеживающий его в коде, зачем вам нужен второй объект JS?

На самом деле, я бы предложил попытаться отбросить объект JSполностью, и следите за всем в дом, и превращайте его в JS только тогда, когда вам нужно.Если только нет веской причины (иногда причина в производительности - манипулирование DOM - самый большой убийца в JS).

Возможно, я что-то упустил в вашем случае использования ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...