Этот вопрос больше о понимании точки зрения других людей в другом, чтобы иметь более масштабируемое приложение Ember.JS и прояснить, какой будет лучший подход для решения этой ситуации.Ember.JS отзывчивый шаблон
У меня есть шаблон под названием posts.hbs
, и я представляю совершенно другую структуру для мобильных и настольных компьютеров.
Однако все функции одинаковы, а это значит, что в моих контроллерах на мобильных устройствах вызывают те же действия и функции, что и на рабочем столе.
Чтобы проверить, если пользователь получает доступ к сайту с мобильного устройства или на рабочем столе, я пользователь следующее условие на моем шаблоне:
{{#if dekstop}}
{{!-- desktop structure (about 250 lines!) --}}
{{else}}
{{!-- mobile structure (about 250 lines!) --}}
{{/if}}
Проблема здесь в том, что, поскольку развивается как мобильные и настольные структуры много компонентов и HTML, у меня есть более 500 строк. Он слишком велик, и он становится запутанным для поддержания этого кода.
Один из вариантов, который я вижу, это создать два различных шаблона:
- сообщения-desktop.hbs
- сообщений-mobile.hbs
А также:
- контроллеры/posts-desktop.js
- контроллеры/сообщения-мобильные .js
И:
- маршрут/сообщений-desktop.js
- маршрут/сообщений-mobile.js
Тогда на моих соответствующих контроллеров и маршрутов, я могу позвонить которые содержат все общие функциональные возможности. Таким образом, я сохраняю функциональность в одном месте, и у меня могут быть свои шаблоны в отдельных местах.
Дополнительная информация:
- Я использую ember.js 1.11.0
Привет, благодарю вас за ответ. Я уже рассматривал использование медиа-запросов здесь. Я действительно использую его в других частях приложения, но на этой странице структура HTML должна быть другой. Хотя решение, которое я нашел, похоже, работает должным образом, моя озабоченность по-прежнему зависит от производительности и передовой практики. Я верю, что другие разработчики столкнулись с такой же ситуацией, и мне хотелось бы услышать от более опытных, какие у нас есть варианты – iorrah