У меня проблемы с концептуальным пониманием того, что я должен делать, пытаясь создать свое первое большое веб-приложение на javascript.
В зависимости от того, какую вкладку выбрал пользователь, я показываю разное содержимое внутри контейнера. Контент - это не просто текст, а различные функции и события javascript. Я использую Yahoo! Реализация TabView в UI Library, но способ решения этой проблемы, вероятно, будет применяться к другим подходам Tab.
То, о чем я думал, было в основном следующим:
Создайте отдельные модули для каждой вкладки (например, MYAPP.modules.tabCalendar и MYAPP.modules.tabJournal). Когда пользователь нажимает на другую вкладку (или переходит с помощью кнопок браузера в предыдущее состояние вкладки), я могу вызывать MYAPP.modules [oldModule] .disable () и MYAPP.modules [newModules] .enable (). Эти функции будут подписывать или отменять подписку на свои пользовательские события (например, общий обработчик кликов, прикрепленный к контейнеру).
Альтернативный подход к работе с событиями может заключаться в использовании единого глобального обработчика щелчков. Если щелчок находится внутри контейнера, определите, какая вкладка выбрана в данный момент, и отправьте событие щелчка в MYAPP.modules [currentTab] .onClick ().
Или глобальный обработчик щелчков может вызвать пользовательское событие, на которое подписались модули с момента загрузки страницы, и события onClick каждого модуля будут запускаться и определять, должны ли они что-либо делать.
Кажется, есть много вариантов, но у меня были проблемы с поиском ресурсов, в которых рассказывалось бы о лучших способах сделать подобные вещи. Я на правильном пути? Как мне справиться с этим?