У меня есть приложение backbone.js, чьи представления имеют несколько состояний, которые существенно отличаются друг от друга («Вид», «Редактировать» и т. Д.).Для каждого просмотра есть как минимум 2 разных шаблона.Хорошо.Моя проблема с управляющим кодом представления JS.
Я полагаюсь на подход initalize-thin-render-толстый (что, я думаю, довольно плохо), где метод рендеринга - это то, где происходит 80-90% логики.Когда я хочу изменить состояние, я просто вызываю метод рендеринга с определенным параметром («view», «edit»).Исходя из этого, представление решает, что показывать, а что нет, с какими событиями связывать и т. Д.
Я думаю, что это плохо, потому что, с одной стороны, это ставит узкие места в процессе рендеринга, надругой, это не правильный конечный автомат, что означает, что я не несу о возможных обратных вызовах, которые могли быть связаны ранее.Когда я получаю представление, я просто очищаю представление и все.
Я также заметил, что я не использую делегированную систему событий, предоставляемую магистралью, что я считаю еще одним минусом, потому что я думаю, что она очень хорошо реализована (кстати, она обязательно отменяет привязки обратных вызовов)когда определенный элемент DOM удаляется?)
Я думаю, что мне нужен серьезный рефакторинг.Пожалуйста, помогите с некоторыми советами относительно того, каков наилучший подход для многоуровневого представления Backone.